From 4f353df15ace2c85c36028e5bb05f86936c9f84c Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Wed, 8 Mar 2017 12:59:04 -0600 Subject: [PATCH 001/418] Video samples (#319) * First + second drafts of the Video API Change-Id: I9bac19d0bf64065c93c6d84ec1edd0cece78af41 * Fix test failures * Change video lib to Cloud Storage link * Use videos that pass licensing requirements --- .../samples/package.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 packages/google-cloud-videointelligence/samples/package.json diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json new file mode 100644 index 00000000000..675f002291d --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -0,0 +1,17 @@ +{ + "name": "nodejs-docs-samples-videointelligence", + "version": "0.0.1", + "private": true, + "license": "Apache Version 2.0", + "author": "Google Inc.", + "scripts": { + "test": "cd ..; npm run st -- --verbose video/system-test/*.test.js" + }, + "dependencies": { + "@google-cloud/videointelligence": "https://storage.googleapis.com/videointelligence-alpha/videointelligence-nodejs.tar.gz", + "yargs": "6.6.0" + }, + "engines": { + "node": ">=4.3.2" + } +} From c69c0284c4f52145c9adcd0626a1583a1b15e784 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Wed, 8 Mar 2017 11:57:51 -0800 Subject: [PATCH 002/418] Adds video intelligence sample instructions. (#320) * Adds video intelligence sample instructions. * Update README.md * Update command-line instructions to match sample --- .../samples/README.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 packages/google-cloud-videointelligence/samples/README.md diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md new file mode 100644 index 00000000000..b986b556277 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -0,0 +1,48 @@ +Google Cloud Platform logo + +# Google Cloud Video Intelligence API Node.js Samples + +The [Cloud Video Intellience API][video_docs] allows developers to easily +integrate video analysis within applications, including video labeling, face +detection, and shot change detection. + +[video_docs]: https://cloud.google.com/video-intelligence/docs/ + +## Table of Contents + +* [Setup](#setup) +* [Running](#running) + +## Setup + +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 + +## Running + +View the [documentation][analyze_docs] or the [source code][analyze_code]. + +``` +node analyze.js +Commands: + faces Analyzes faces in a video using the Cloud Video Intelligence API. + shots Analyzes shot angles in a video using the Cloud Video Intelligence API. + labels Labels objects in a video using the Cloud Video Intelligence API. + +Options: + --help Show help [boolean] + +Examples: + node analyze.js faces gs://my-bucket/my-video.mp4 + node analyze.js shots gs://my-bucket/my-video.mp4 + node analyze.js labels gs://my-bucket/my-video.mp4 + +``` + +[analyze_docs]: https://cloud.google.com/video-intelligence/docs +[analyze_code]: analyze.js From 188cfa3ff71b2310621ed4e9b266f53f94351b4f Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 12 Apr 2017 14:33:06 -0700 Subject: [PATCH 003/418] Bring ML APIs up to standard. (#346) --- packages/google-cloud-videointelligence/samples/README.md | 8 ++++---- .../google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index b986b556277..8f941349cad 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -28,11 +28,10 @@ detection, and shot change detection. View the [documentation][analyze_docs] or the [source code][analyze_code]. ``` -node analyze.js Commands: - faces Analyzes faces in a video using the Cloud Video Intelligence API. - shots Analyzes shot angles in a video using the Cloud Video Intelligence API. - labels Labels objects in a video using the Cloud Video Intelligence API. + faces Analyzes faces in a video using the Cloud Video Intelligence API. + shots Analyzes shot angles in a video using the Cloud Video Intelligence API. + labels Labels objects in a video using the Cloud Video Intelligence API. Options: --help Show help [boolean] @@ -42,6 +41,7 @@ Examples: node analyze.js shots gs://my-bucket/my-video.mp4 node analyze.js labels gs://my-bucket/my-video.mp4 +For more information, see https://cloud.google.com/video-intelligence/docs ``` [analyze_docs]: https://cloud.google.com/video-intelligence/docs diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 675f002291d..63f9aa07c1f 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@google-cloud/videointelligence": "https://storage.googleapis.com/videointelligence-alpha/videointelligence-nodejs.tar.gz", - "yargs": "6.6.0" + "yargs": "7.0.2" }, "engines": { "node": ">=4.3.2" From 123609192e8f4e4f8e1b5dbc83f5b19c9cde4eb7 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 24 Apr 2017 14:40:11 -0700 Subject: [PATCH 004/418] Cleanup App Engine samples and re-work tests. (#354) --- .../samples/README.md | 35 ++++++++++++++++--- .../samples/package.json | 25 ++++++++++--- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 8f941349cad..dd34ee4d552 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -11,22 +11,34 @@ detection, and shot change detection. ## Table of Contents * [Setup](#setup) -* [Running](#running) +* [Samples](#samples) + * [Analyze](#analyze) +* [Running the tests](#running-the-tests) ## Setup -1. Read [Prerequisites][prereq] and [How to run a sample][run] first. -1. Install dependencies: +1. Read [Prerequisites][prereq] and [How to run a sample][run] first. +1. Install dependencies: + + With `npm`: npm install + With `yarn`: + + yarn install + [prereq]: ../README.md#prerequisities [run]: ../README.md#how-to-run-a-sample -## Running +## Samples + +### Analyze View the [documentation][analyze_docs] or the [source code][analyze_code]. +__Usage:__ `node analyze.js --help` + ``` Commands: faces Analyzes faces in a video using the Cloud Video Intelligence API. @@ -46,3 +58,18 @@ For more information, see https://cloud.google.com/video-intelligence/docs [analyze_docs]: https://cloud.google.com/video-intelligence/docs [analyze_code]: analyze.js + +## Running the tests + +1. Set the `GCLOUD_PROJECT` and `GOOGLE_APPLICATION_CREDENTIALS` environment + variables. + +1. Run the tests: + + With `npm`: + + npm test + + With `yarn`: + + yarn test diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 63f9aa07c1f..ae4e043da0f 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -2,16 +2,31 @@ "name": "nodejs-docs-samples-videointelligence", "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 video/system-test/*.test.js" + "lint": "samples lint", + "pretest": "npm run lint", + "system-test": "ava -T 10m --verbose system-test/*.test.js", + "test": "npm run system-test" }, "dependencies": { "@google-cloud/videointelligence": "https://storage.googleapis.com/videointelligence-alpha/videointelligence-nodejs.tar.gz", - "yargs": "7.0.2" + "yargs": "7.1.0" }, - "engines": { - "node": ">=4.3.2" + "devDependencies": { + "@google-cloud/nodejs-repo-tools": "1.3.1", + "ava": "0.19.1" } } From 2da3e4edf193cecc220e854d3a77e79f61491ce9 Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Mon, 1 May 2017 11:01:53 -0700 Subject: [PATCH 005/418] Add video quickstart (#367) * Add video quickstart * Explicitly specify project ID --- .../samples/quickstart.js | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 packages/google-cloud-videointelligence/samples/quickstart.js diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js new file mode 100644 index 00000000000..72b9028ed8b --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -0,0 +1,77 @@ +/** + * 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. + */ + +'use strict'; + +// [START videointelligence_quickstart] +// Imports the Google Cloud Video Intelligence library +const Video = require('@google-cloud/videointelligence').v1beta1(); + +// Instantiates a client +const video = Video.videoIntelligenceServiceClient({ + projectId: process.env.GCLOUD_PROJECT // Replace with your Google Cloud project ID +}); + +// The GCS filepath of the video to analyze +const gcsUri = 'gs://nodejs-docs-samples/videointelligence_quickstart.mp4'; + +// Construct request +const request = { + inputUri: gcsUri, + features: ['FACE_DETECTION', 'LABEL_DETECTION', 'SHOT_CHANGE_DETECTION'] +}; + +// Execute request +video.annotateVideo(request) + .then((results) => { + const operation = results[0]; + console.log('Waiting for operation to complete... (this may take a few minutes)'); + return operation.promise(); + }) + .then((results) => { + // Gets annotations for video + const annotations = results[0].annotationResults[0]; + + // Gets faces for video from its annotations + const faces = annotations.faceAnnotations; + faces.forEach((face, faceIdx) => { + console.log('Thumbnail size:', face.thumbnail.buffer.length); + face.segments.forEach((segment, segmentIdx) => { + console.log(`Track ${segmentIdx} of face ${faceIdx}: frames ${segment.startTimeOffset} to ${segment.endTimeOffset}`); + }); + }); + + // Gets labels for video from its annotations + const labels = annotations.labelAnnotations; + labels.forEach((label) => { + console.log('Label description:', label.description); + console.log('Locations:'); + label.locations.forEach((location) => { + console.log(`\tFrames ${location.segment.startTimeOffset} to ${location.segment.endTimeOffset}`); + }); + }); + + // Gets shot changes for video from its annotations + const shotChanges = annotations.shotAnnotations; + shotChanges.forEach((shot, shotIdx) => { + console.log(`Scene ${shotIdx}:`); + console.log(`\tStart: ${shot.startTimeOffset}`); + console.log(`\tEnd: ${shot.endTimeOffset}`); + }); + }) + .catch((err) => { + console.error('ERROR:', err); + }); +// [END videointelligence_quickstart] From 17230de810b7105ccd4733619918445cca87c9e0 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Tue, 2 May 2017 08:54:19 -0700 Subject: [PATCH 006/418] Upgrade to repo tools v1.4.7 (#370) --- .../samples/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index ae4e043da0f..ff8d547aecc 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/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" }, @@ -26,7 +22,11 @@ "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" + }, + "cloud-repo-tools": { + "requiresKeyFile": true, + "requiresProjectId": true } } From 47f8e82958b05533363822ce3ba18a3b42d6b54b Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Wed, 10 May 2017 16:42:11 -0700 Subject: [PATCH 007/418] Add new video samples (#382) --- .../samples/README.md | 18 ++++++++++-------- .../samples/quickstart.js | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index dd34ee4d552..848c4086dc8 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -2,9 +2,9 @@ # Google Cloud Video Intelligence API Node.js Samples -The [Cloud Video Intellience API][video_docs] allows developers to easily -integrate video analysis within applications, including video labeling, face -detection, and shot change detection. +The [Cloud Video Intelligence API][video_docs] allows developers to easily +integrate video analysis within applications, including video labeling, safe search +, and shot change detection. [video_docs]: https://cloud.google.com/video-intelligence/docs/ @@ -41,17 +41,19 @@ __Usage:__ `node analyze.js --help` ``` Commands: - faces Analyzes faces in a video using the Cloud Video Intelligence API. - shots Analyzes shot angles in a video using the Cloud Video Intelligence API. - labels Labels objects in a video using the Cloud Video Intelligence API. + shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. + labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. Options: --help Show help [boolean] Examples: - node analyze.js faces gs://my-bucket/my-video.mp4 node analyze.js shots gs://my-bucket/my-video.mp4 - node analyze.js labels gs://my-bucket/my-video.mp4 + node analyze.js labels-gcs gs://my-bucket/my-video.mp4 + node analyze.js labels-file my-video.mp4 + node analyze.js unsafe-content gs://my-bucket/my-video.mp4 For more information, see https://cloud.google.com/video-intelligence/docs ``` diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 72b9028ed8b..df537216ad7 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -47,7 +47,7 @@ video.annotateVideo(request) // Gets faces for video from its annotations const faces = annotations.faceAnnotations; faces.forEach((face, faceIdx) => { - console.log('Thumbnail size:', face.thumbnail.buffer.length); + console.log('Thumbnail size:', face.thumbnail.length); face.segments.forEach((segment, segmentIdx) => { console.log(`Track ${segmentIdx} of face ${faceIdx}: frames ${segment.startTimeOffset} to ${segment.endTimeOffset}`); }); From c23a06ed7bfb095bf1f25544dedc3490806b5f50 Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Wed, 17 May 2017 17:26:02 -0700 Subject: [PATCH 008/418] Address comments (#388) * Address sgreenberg's comments * Massage package.json + generate README --- .../samples/README.md | 38 +++++++++---------- .../samples/package.json | 19 ++++++++-- .../samples/quickstart.js | 30 +++++++++++---- 3 files changed, 57 insertions(+), 30 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 848c4086dc8..fca30dac830 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -2,17 +2,15 @@ # Google Cloud Video Intelligence API Node.js Samples -The [Cloud Video Intelligence API][video_docs] allows developers to easily -integrate video analysis within applications, including video labeling, safe search -, and shot change detection. +[![Build](https://storage.googleapis.com/cloud-docs-samples-badges/GoogleCloudPlatform/nodejs-docs-samples/nodejs-docs-samples-videointelligence.svg)]() -[video_docs]: https://cloud.google.com/video-intelligence/docs/ +The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. ## Table of Contents * [Setup](#setup) * [Samples](#samples) - * [Analyze](#analyze) + * [Video Intelligence](#video-intelligence) * [Running the tests](#running-the-tests) ## Setup @@ -20,11 +18,11 @@ integrate video analysis within applications, including video labeling, safe sea 1. Read [Prerequisites][prereq] and [How to run a sample][run] first. 1. Install dependencies: - With `npm`: + With **npm**: npm install - With `yarn`: + With **yarn**: yarn install @@ -33,45 +31,47 @@ integrate video analysis within applications, including video labeling, safe sea ## Samples -### Analyze +### Video Intelligence -View the [documentation][analyze_docs] or the [source code][analyze_code]. +View the [documentation][video_0_docs] or the [source code][video_0_code]. __Usage:__ `node analyze.js --help` ``` Commands: + faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. + safe-search Detects adult content in a video stored in Google Cloud Storage. Options: --help Show help [boolean] Examples: - node analyze.js shots gs://my-bucket/my-video.mp4 - node analyze.js labels-gcs gs://my-bucket/my-video.mp4 - node analyze.js labels-file my-video.mp4 - node analyze.js unsafe-content gs://my-bucket/my-video.mp4 + node analyze.js faces gs://demomaker/volleyball_court.mp4 + node analyze.js shots gs://demomaker/volleyball_court.mp4 + node analyze.js labels-gcs gs://demomaker/volleyball_court.mp4 + node analyze.js labels-file cat.mp4 + node analyze.js safe-search gs://demomaker/volleyball_court.mp4 For more information, see https://cloud.google.com/video-intelligence/docs ``` -[analyze_docs]: https://cloud.google.com/video-intelligence/docs -[analyze_code]: analyze.js +[video_0_docs]: https://cloud.google.com/video-intelligence/docs +[video_0_code]: analyze.js ## Running the tests -1. Set the `GCLOUD_PROJECT` and `GOOGLE_APPLICATION_CREDENTIALS` environment - variables. +1. Set the **GCLOUD_PROJECT** and **GOOGLE_APPLICATION_CREDENTIALS** environment variables. 1. Run the tests: - With `npm`: + With **npm**: npm test - With `yarn`: + With **yarn**: yarn test diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index ff8d547aecc..daf9b022aab 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -19,14 +19,27 @@ }, "dependencies": { "@google-cloud/videointelligence": "https://storage.googleapis.com/videointelligence-alpha/videointelligence-nodejs.tar.gz", + "googleapis": "19.0.0", + "safe-buffer": "5.0.1", "yargs": "7.1.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.7", - "ava": "0.19.1" + "@google-cloud/nodejs-repo-tools": "1.4.13", + "ava": "0.19.1", + "proxyquire": "1.7.11" }, "cloud-repo-tools": { "requiresKeyFile": true, - "requiresProjectId": true + "requiresProjectId": true, + "product": "video", + "samples": [ + { + "id": "video", + "name": "Video Intelligence", + "file": "analyze.js", + "docs_link": "https://cloud.google.com/video-intelligence/docs", + "usage": "node analyze.js --help" + } + ] } } diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index df537216ad7..f187f35da92 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -25,7 +25,7 @@ const video = Video.videoIntelligenceServiceClient({ }); // The GCS filepath of the video to analyze -const gcsUri = 'gs://nodejs-docs-samples/videointelligence_quickstart.mp4'; +const gcsUri = 'gs://demomaker/volleyball_court.mp4'; // Construct request const request = { @@ -49,26 +49,40 @@ video.annotateVideo(request) faces.forEach((face, faceIdx) => { console.log('Thumbnail size:', face.thumbnail.length); face.segments.forEach((segment, segmentIdx) => { - console.log(`Track ${segmentIdx} of face ${faceIdx}: frames ${segment.startTimeOffset} to ${segment.endTimeOffset}`); + console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); + if (segment.startTimeOffset === -1 && segment.endTimeOffset === -1) { + console.log(`\tEntire video`); + } else { + console.log(`\tStart: ${segment.startTimeOffset / 1e6}s`); + console.log(`\tEnd: ${segment.endTimeOffset / 1e6}s`); + } }); }); // Gets labels for video from its annotations const labels = annotations.labelAnnotations; labels.forEach((label) => { - console.log('Label description:', label.description); - console.log('Locations:'); + console.log(`Label ${label.description} occurs at:`); label.locations.forEach((location) => { - console.log(`\tFrames ${location.segment.startTimeOffset} to ${location.segment.endTimeOffset}`); + if (location.segment.startTimeOffset === -1 && location.segment.endTimeOffset === -1) { + console.log(`\tEntire video`); + } else { + console.log(`\tStart: ${location.segment.startTimeOffset / 1e6}s`); + console.log(`\tEnd: ${location.segment.endTimeOffset / 1e6}s`); + } }); }); // Gets shot changes for video from its annotations const shotChanges = annotations.shotAnnotations; shotChanges.forEach((shot, shotIdx) => { - console.log(`Scene ${shotIdx}:`); - console.log(`\tStart: ${shot.startTimeOffset}`); - console.log(`\tEnd: ${shot.endTimeOffset}`); + console.log(`Scene ${shotIdx} occurs from:`); + if (shot.startTimeOffset === -1 && shot.endTimeOffset === -1) { + console.log(`\tEntire video`); + } else { + console.log(`\tStart: ${shot.startTimeOffset / 1e6}s`); + console.log(`\tEnd: ${shot.endTimeOffset / 1e6}s`); + } }); }) .catch((err) => { From 78f253ce32e866682b5a960bc62cc958fccf6565 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Wed, 17 May 2017 18:06:50 -0700 Subject: [PATCH 009/418] Video Intelligence (GAPIC only) (#2318) --- .../package.json | 27 ++ .../src/index.js | 72 +++++ .../src/v1beta1/index.js | 34 +++ .../video_intelligence_service_client.js | 286 ++++++++++++++++++ ...eo_intelligence_service_client_config.json | 33 ++ .../test/gapic-v1beta1.js | 110 +++++++ 6 files changed, 562 insertions(+) create mode 100644 packages/google-cloud-videointelligence/package.json create mode 100644 packages/google-cloud-videointelligence/src/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1beta1.js diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json new file mode 100644 index 00000000000..5f4b7637ac1 --- /dev/null +++ b/packages/google-cloud-videointelligence/package.json @@ -0,0 +1,27 @@ +{ + "name": "@google-cloud/video-intelligence", + "repository": "googlecloudplatform/google-cloud-node", + "version": "0.0.0", + "author": "Google Inc", + "description": "Google Cloud Video Intelligence API client for Node.js", + "main": "src/index.js", + "files": [ + "src" + ], + "dependencies": { + "google-proto-files": "^0.12.0", + "google-gax": "^0.13.2", + "extend": "^3.0.0" + }, + "devDependencies": { + "mocha": "3.2.0" + }, + "license": "Apache-2.0", + "engines": { + "node": ">=4.0.0" + }, + "scripts": { + "publish-module": "node ../../scripts/publish.js video-intelligence", + "test": "mocha" + } +} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js new file mode 100644 index 00000000000..98aa372d51b --- /dev/null +++ b/packages/google-cloud-videointelligence/src/index.js @@ -0,0 +1,72 @@ +/* + * 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 video-intelligence + */ + +'use strict'; + +var v1beta1 = require('./v1beta1/index.js'); + +const VERSION = require('../package.json').version; + +/** + * [Google Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) + * makes videos searchable, and discoverable, by extracting metadata with an + * easy to use REST API. You can now search every moment of every video file in + * your catalog and find every occurrence as well as its significance. It + * quickly annotates videos stored in Google Cloud Storage, and helps you + * identify key nouns entities of your video, and when they occur within the + * video. Separate signal from noise, by retrieving relevant information at the + * video, shot or per frame. + * + *

This is an auto-generated API

+ * + * It does not follow the conventions you're familiar with from other parts of + * our library. A handwritten layer is not yet available. + * + * The example below shows you how to instantiate the generated client. For + * further documentation, please browse the + * [Video Intelligence .proto files](https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto) + * on GitHub. + * + * @constructor + * @alias module:video-intelligence + * + * @resource [Cloud Video Intelligence](https://cloud.google.com/video-intelligence) + * + * @param {object} options - [Configuration object](#/docs). + * @param {number=} options.port - The port on which to connect to the remote + * host. + * @param {string=} options.servicePath - The domain name of the API remote + * host. + */ +function VideoIntelligence(options) { + // Define the header options. + options = options || {}; + options.libName = 'gccl'; + options.libVersion = VERSION; + + // Create the image annotator client with the provided options. + var client = v1beta1(options).videoIntelligenceServiceClient(options); + return client; +} + +// The default export should be the latest version. +// Assign all versions as version properties on the default. +module.exports = VideoIntelligence; +module.exports.v1beta1 = v1beta1; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js new file mode 100644 index 00000000000..d7aa3548edb --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/index.js @@ -0,0 +1,34 @@ +/* + * 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 videoIntelligenceServiceClient = require('./video_intelligence_service_client'); +var gax = require('google-gax'); +var extend = require('extend'); + +function v1beta1(options) { + options = extend({ + scopes: v1beta1.ALL_SCOPES + }, options); + var gaxGrpc = gax.grpc(options); + return videoIntelligenceServiceClient(gaxGrpc); +} + +v1beta1.GAPIC_VERSION = '0.7.1'; +v1beta1.SERVICE_ADDRESS = videoIntelligenceServiceClient.SERVICE_ADDRESS; +v1beta1.ALL_SCOPES = videoIntelligenceServiceClient.ALL_SCOPES; + +module.exports = v1beta1; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js new file mode 100644 index 00000000000..52ee95379f5 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -0,0 +1,286 @@ +/* + * 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/videointelligence/v1beta1/video_intelligence.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 configData = require('./video_intelligence_service_client_config'); +var extend = require('extend'); +var gax = require('google-gax'); + +var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; + +var DEFAULT_SERVICE_PORT = 443; + +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' +]; + +/** + * Service that implements Google Cloud Video Intelligence API. + * + * 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 videoIntelligenceServiceClient} + * + * @example + * var videointelligenceV1beta1 = require('@google-cloud/videointelligence').v1beta1({ + * // optional auth parameters. + * }); + * var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + * + * @class + */ +function VideoIntelligenceServiceClient(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 + ); + + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc + }).operationsClient(opts); + + this.longrunningDescriptors = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + grpcClients.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.decode, + grpcClients.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.decode) + }; + + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService', + configData, + opts.clientConfig, + {'x-goog-api-client': googleApiClient.join(' ')}); + + var self = this; + + this.auth = gaxGrpc.auth; + var videoIntelligenceServiceStub = gaxGrpc.createStub( + grpcClients.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, + opts); + var videoIntelligenceServiceStubMethods = [ + 'annotateVideo' + ]; + videoIntelligenceServiceStubMethods.forEach(function(methodName) { + self['_' + methodName] = gax.createApiCall( + videoIntelligenceServiceStub.then(function(videoIntelligenceServiceStub) { + return function() { + var args = Array.prototype.slice.call(arguments, 0); + return videoIntelligenceServiceStub[methodName].apply(videoIntelligenceServiceStub, args); + }; + }), + defaults[methodName], + self.longrunningDescriptors[methodName]); + }); +} + + +/** + * Get the project ID used by this class. + * @param {function(Error, string)} callback - the callback to be called with + * the current project Id. + */ +VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { + return this.auth.getProjectId(callback); +}; + +// Service calls + +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {number[]} request.features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link Feature} + * @param {string=} request.inputContent + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * @param {Object=} request.videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link VideoContext} + * @param {string=} request.outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string=} request.locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object=} options + * Optional parameters. You 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. + * @return {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 + * + * var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + * var inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(request).then(function(responses) { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }).then(function(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(function(err) { + * console.error(err); + * }); + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(request).then(function(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', function(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', function(metadata, apiResponse) { + * // doSomethingWith(metadata) + * }) + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', function(err) { + * // throw(err); + * }) + * }).catch(function(err) { + * console.error(err); + * }); + */ +VideoIntelligenceServiceClient.prototype.annotateVideo = function(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + if (options === undefined) { + options = {}; + } + + return this._annotateVideo(request, options, callback); +}; + +function VideoIntelligenceServiceClientBuilder(gaxGrpc) { + if (!(this instanceof VideoIntelligenceServiceClientBuilder)) { + return new VideoIntelligenceServiceClientBuilder(gaxGrpc); + } + + var videoIntelligenceServiceClient = gaxGrpc.load([{ + root: require('google-proto-files')('..'), + file: 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' + }]); + extend(this, videoIntelligenceServiceClient.google.cloud.videointelligence.v1beta1); + + + /** + * Build a new instance of {@link VideoIntelligenceServiceClient}. + * + * @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. + */ + this.videoIntelligenceServiceClient = function(opts) { + return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceClient, opts); + }; + extend(this.videoIntelligenceServiceClient, VideoIntelligenceServiceClient); +} +module.exports = VideoIntelligenceServiceClientBuilder; +module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; +module.exports.ALL_SCOPES = ALL_SCOPES; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..7dd61bbb7b5 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json @@ -0,0 +1,33 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1beta1.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js new file mode 100644 index 00000000000..444dac98658 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -0,0 +1,110 @@ +/* + * 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. + */ + +var assert = require('assert'); +var videointelligenceV1beta1 = require('../src/v1beta1')(); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', function() { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', function(done) { + var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + // Mock request + var inputUri = 'inputUri1707300727'; + var features = []; + var request = { + inputUri : inputUri, + features : features + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._annotateVideo = mockLongRunningGrpcMethod(request, expectedResponse); + + client.annotateVideo(request).then(function(responses) { + var operation = responses[0]; + return operation.promise(); + }).then(function(responses) { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }).catch(function(err) { + done(err); + }); + }); + + it('invokes annotateVideo with error', function(done) { + var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + // Mock request + var inputUri = 'inputUri1707300727'; + var features = []; + var request = { + inputUri : inputUri, + features : features + }; + + // Mock Grpc layer + client._annotateVideo = mockLongRunningGrpcMethod(request, null, error); + + client.annotateVideo(request).then(function(responses) { + var operation = responses[0]; + return operation.promise(); + }).then(function(responses) { + assert.fail(); + }).catch(function(err) { + 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); + } + }; +} + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return function(request) { + assert.deepStrictEqual(request, expectedRequest); + var mockOperation = { + promise: function() { + return new Promise(function(resolve, reject) { + if (error) { + reject(error) + } else { + resolve([response]); + } + }); + } + }; + return Promise.resolve([mockOperation]); + }; +} From 33b05a34bdb26856ac0c16044c53613f4e84141a Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 17 May 2017 21:10:45 -0400 Subject: [PATCH 010/418] video-intelligence @ 0.1.0 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 5f4b7637ac1..f644829d7a7 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "repository": "googlecloudplatform/google-cloud-node", - "version": "0.0.0", + "version": "0.1.0", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From 1378702d5b7c6738a786920e6a266206c2c44353 Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Wed, 17 May 2017 21:59:24 -0700 Subject: [PATCH 011/418] Switch to faster videos + update print statements (#395) --- .../samples/package.json | 5 +- .../samples/quickstart.js | 58 +++++++++++-------- 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index daf9b022aab..a15ca1168a1 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,12 +14,13 @@ "scripts": { "lint": "samples lint", "pretest": "npm run lint", - "system-test": "ava -T 10m --verbose system-test/*.test.js", + "system-test": "ava -T 5m --verbose system-test/*.test.js", "test": "npm run system-test" }, "dependencies": { - "@google-cloud/videointelligence": "https://storage.googleapis.com/videointelligence-alpha/videointelligence-nodejs.tar.gz", + "@google-cloud/video-intelligence": "0.1.0", "googleapis": "19.0.0", + "long": "^3.2.0", "safe-buffer": "5.0.1", "yargs": "7.1.0" }, diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index f187f35da92..8a1bf3290a2 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -17,15 +17,15 @@ // [START videointelligence_quickstart] // Imports the Google Cloud Video Intelligence library -const Video = require('@google-cloud/videointelligence').v1beta1(); +const Video = require('@google-cloud/video-intelligence'); // Instantiates a client -const video = Video.videoIntelligenceServiceClient({ +const video = Video({ projectId: process.env.GCLOUD_PROJECT // Replace with your Google Cloud project ID }); // The GCS filepath of the video to analyze -const gcsUri = 'gs://demomaker/volleyball_court.mp4'; +const gcsUri = 'gs://demomaker/tomatoes.mp4'; // Construct request const request = { @@ -48,42 +48,54 @@ video.annotateVideo(request) const faces = annotations.faceAnnotations; faces.forEach((face, faceIdx) => { console.log('Thumbnail size:', face.thumbnail.length); - face.segments.forEach((segment, segmentIdx) => { - console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); - if (segment.startTimeOffset === -1 && segment.endTimeOffset === -1) { - console.log(`\tEntire video`); - } else { + + const isEntireVideo = face.segments.some((segment) => + segment.startTimeOffset.toNumber() === -1 && + segment.endTimeOffset.toNumber() === -1 + ); + + if (isEntireVideo) { + console.log(`Face #${faceIdx}`); + console.log(`\tEntire video`); + } else { + face.segments.forEach((segment, segmentIdx) => { + console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); console.log(`\tStart: ${segment.startTimeOffset / 1e6}s`); console.log(`\tEnd: ${segment.endTimeOffset / 1e6}s`); - } - }); + }); + } }); // Gets labels for video from its annotations const labels = annotations.labelAnnotations; labels.forEach((label) => { console.log(`Label ${label.description} occurs at:`); - label.locations.forEach((location) => { - if (location.segment.startTimeOffset === -1 && location.segment.endTimeOffset === -1) { - console.log(`\tEntire video`); - } else { + const isEntireVideo = label.locations.some((location) => + location.segment.startTimeOffset.toNumber() === -1 && + location.segment.endTimeOffset.toNumber() === -1 + ); + + if (isEntireVideo) { + console.log(`\tEntire video`); + } else { + label.locations.forEach((location) => { console.log(`\tStart: ${location.segment.startTimeOffset / 1e6}s`); console.log(`\tEnd: ${location.segment.endTimeOffset / 1e6}s`); - } - }); + }); + } }); // Gets shot changes for video from its annotations const shotChanges = annotations.shotAnnotations; - shotChanges.forEach((shot, shotIdx) => { - console.log(`Scene ${shotIdx} occurs from:`); - if (shot.startTimeOffset === -1 && shot.endTimeOffset === -1) { - console.log(`\tEntire video`); - } else { + if (shotChanges.length === 1) { + console.log(`The entire video is one scene.`); + } else { + shotChanges.forEach((shot, shotIdx) => { + console.log(`Scene ${shotIdx} occurs from:`); console.log(`\tStart: ${shot.startTimeOffset / 1e6}s`); console.log(`\tEnd: ${shot.endTimeOffset / 1e6}s`); - } - }); + }); + } }) .catch((err) => { console.error('ERROR:', err); From 4f00b5a139662661396513bfdc3b23d883220037 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 23 May 2017 12:12:57 -0400 Subject: [PATCH 012/418] video-intelligence: fluff out package.json (#2326) --- .../package.json | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f644829d7a7..b8eba5f14c4 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,27 +1,43 @@ { "name": "@google-cloud/video-intelligence", - "repository": "googlecloudplatform/google-cloud-node", "version": "0.1.0", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", "files": [ - "src" + "src", + "AUTHORS", + "CONTRIBUTORS", + "COPYING" + ], + "repository": "googlecloudplatform/google-cloud-node", + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google video intelligence", + "video intelligence", + "video" ], "dependencies": { - "google-proto-files": "^0.12.0", + "extend": "^3.0.0", "google-gax": "^0.13.2", - "extend": "^3.0.0" + "google-proto-files": "^0.12.0" }, "devDependencies": { - "mocha": "3.2.0" + "mocha": "^3.2.0" + }, + "scripts": { + "publish-module": "node ../../scripts/publish.js video-intelligence", + "test": "mocha test/*.js" }, "license": "Apache-2.0", "engines": { "node": ">=4.0.0" - }, - "scripts": { - "publish-module": "node ../../scripts/publish.js video-intelligence", - "test": "mocha" } } From f2ef6923eb175a26856f61812d4dc52cf2f039c8 Mon Sep 17 00:00:00 2001 From: Song Wang Date: Wed, 24 May 2017 18:54:58 -0700 Subject: [PATCH 013/418] Add auto-generated README.md for videointelligence API (#2327) --- .../google-cloud-videointelligence/README.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/google-cloud-videointelligence/README.md diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md new file mode 100644 index 00000000000..7cacd49704e --- /dev/null +++ b/packages/google-cloud-videointelligence/README.md @@ -0,0 +1,25 @@ +# Node.js Client for Google Cloud Video Intelligence API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) + +Idiomatic Node.js client for [Google Cloud Video Intelligence API][Product Documentation] +- [Client Library Documentation][] +- [Product Documentation][] + +## 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 video-intelligence api.](https://console.cloud.google.com/apis/api/video-intelligence) +3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/master/guides/authentication) + +### Installation +``` +$ npm install @google-cloud/video-intelligence +``` + +### Next Steps +- Read the [Client Library Documentation][] for Google Cloud Video Intelligence API to see other available methods on the client. +- Read the [Google Cloud Video Intelligence 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. + +[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/video-intelligence +[Product Documentation]: https://cloud.google.com/video-intelligence From 621a8c512d26c4ad7c34cb157c1c069d6de32a8f Mon Sep 17 00:00:00 2001 From: Song Wang Date: Thu, 15 Jun 2017 09:58:13 -0700 Subject: [PATCH 014/418] update gapic retry config (#2390) --- .../src/v1beta1/video_intelligence_service_client_config.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json index 7dd61bbb7b5..996b2ab5e30 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json @@ -6,9 +6,7 @@ "DEADLINE_EXCEEDED", "UNAVAILABLE" ], - "non_idempotent": [ - "UNAVAILABLE" - ] + "non_idempotent": [] }, "retry_params": { "default": { From d10e884f8056f2904bf04a2df3667d7f910a0e7f Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Mon, 19 Jun 2017 16:59:32 -0700 Subject: [PATCH 015/418] Add + run dependency updating (bash) script (#401) * Add + run dependency updating script * Address comments Change-Id: I67af9d3ab9e461b579dbaee92274b6163d73c23e * Run dependency script again Change-Id: Icbec4acb2cc6bcfa40e0a3a705c5a1059d64efa5 * Update license Change-Id: Ic1dd0a1bd34356e415bdbf005b81a71a8d2695c2 * Update (more) dependencies Change-Id: Idaed95b9cfe486797fa75946b6f55e7e702217b8 --- .../google-cloud-videointelligence/samples/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a15ca1168a1..242e6dd0283 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -21,13 +21,13 @@ "@google-cloud/video-intelligence": "0.1.0", "googleapis": "19.0.0", "long": "^3.2.0", - "safe-buffer": "5.0.1", - "yargs": "7.1.0" + "safe-buffer": "5.1.0", + "yargs": "8.0.2" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.13", + "@google-cloud/nodejs-repo-tools": "1.4.15", "ava": "0.19.1", - "proxyquire": "1.7.11" + "proxyquire": "1.8.0" }, "cloud-repo-tools": { "requiresKeyFile": true, From 479b07ca4bb4fb74b0fe36b25e1e0fcd7cb44548 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 5 Jul 2017 17:20:02 -0400 Subject: [PATCH 016/418] video-intelligence @ 0.1.1 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b8eba5f14c4..0f63cab6ebf 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/video-intelligence", - "version": "0.1.0", + "version": "0.1.1", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From 8542a5e75d4982331748d102c768e54d98b7ce87 Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Fri, 7 Jul 2017 10:10:32 -0700 Subject: [PATCH 017/418] Remove entire video from faces (#410) --- .../samples/quickstart.js | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 8a1bf3290a2..3aeec4334ce 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -48,22 +48,11 @@ video.annotateVideo(request) const faces = annotations.faceAnnotations; faces.forEach((face, faceIdx) => { console.log('Thumbnail size:', face.thumbnail.length); - - const isEntireVideo = face.segments.some((segment) => - segment.startTimeOffset.toNumber() === -1 && - segment.endTimeOffset.toNumber() === -1 - ); - - if (isEntireVideo) { - console.log(`Face #${faceIdx}`); - console.log(`\tEntire video`); - } else { - face.segments.forEach((segment, segmentIdx) => { - console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); - console.log(`\tStart: ${segment.startTimeOffset / 1e6}s`); - console.log(`\tEnd: ${segment.endTimeOffset / 1e6}s`); - }); - } + face.segments.forEach((segment, segmentIdx) => { + console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); + console.log(`\tStart: ${segment.startTimeOffset / 1e6}s`); + console.log(`\tEnd: ${segment.endTimeOffset / 1e6}s`); + }); }); // Gets labels for video from its annotations From ae8ee2ae690fb98c8890c149cac6470fb211872b Mon Sep 17 00:00:00 2001 From: Evawere Ogbe Date: Tue, 15 Aug 2017 11:39:00 -0700 Subject: [PATCH 018/418] Update videointelligence v1beta1 client (#2524) --- .../google-cloud-videointelligence/README.md | 10 +-- .../package.json | 8 +- .../src/index.js | 73 +++++++++---------- .../src/v1beta1/index.js | 8 +- .../video_intelligence_service_client.js | 33 +++++---- .../test/gapic-v1beta1.js | 15 ++-- 6 files changed, 75 insertions(+), 72 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 7cacd49704e..9d338fcd05f 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -1,6 +1,6 @@ -# Node.js Client for Google Cloud Video Intelligence API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) +# Node.js Client for Google Cloud Video Intelligence API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) -Idiomatic Node.js client for [Google Cloud Video Intelligence API][Product Documentation] +[Google Cloud Video Intelligence API][Product Documentation]: Google Cloud Video Intelligence API. - [Client Library Documentation][] - [Product Documentation][] @@ -8,12 +8,12 @@ Idiomatic Node.js client for [Google Cloud Video Intelligence API][Product Docum 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 video-intelligence api.](https://console.cloud.google.com/apis/api/video-intelligence) +2. [Enable the Google Cloud Video Intelligence API.](https://console.cloud.google.com/apis/api/video-intelligence) 3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/master/guides/authentication) ### Installation ``` -$ npm install @google-cloud/video-intelligence +$ npm install --save @google-cloud/video-intelligence ``` ### Next Steps @@ -22,4 +22,4 @@ $ npm install @google-cloud/video-intelligence - 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. [Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/video-intelligence -[Product Documentation]: https://cloud.google.com/video-intelligence +[Product Documentation]: https://cloud.google.com/video-intelligence \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 0f63cab6ebf..4ba46430430 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,4 +1,5 @@ { + "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", "version": "0.1.1", "author": "Google Inc", @@ -7,10 +8,8 @@ "files": [ "src", "AUTHORS", - "CONTRIBUTORS", "COPYING" ], - "repository": "googlecloudplatform/google-cloud-node", "keywords": [ "google apis client", "google api client", @@ -22,10 +21,10 @@ "cloud", "google video intelligence", "video intelligence", - "video" + "Google Cloud Video Intelligence API" ], "dependencies": { - "extend": "^3.0.0", + "extend": "^3.0", "google-gax": "^0.13.2", "google-proto-files": "^0.12.0" }, @@ -34,6 +33,7 @@ }, "scripts": { "publish-module": "node ../../scripts/publish.js video-intelligence", + "smoke-test": "mocha smoke-test/*.js --timeout 5000", "test": "mocha test/*.js" }, "license": "Apache-2.0", diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 98aa372d51b..09e02a491b2 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -1,11 +1,11 @@ /* - * Copyright 2017 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, @@ -16,57 +16,52 @@ /*! * @module video-intelligence + * @name VideoIntelligence */ 'use strict'; -var v1beta1 = require('./v1beta1/index.js'); +var extend = require('extend'); +var gapic = { + v1beta1: require('./v1beta1') +}; +var gaxGrpc = require('google-gax').grpc(); const VERSION = require('../package.json').version; /** - * [Google Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) - * makes videos searchable, and discoverable, by extracting metadata with an - * easy to use REST API. You can now search every moment of every video file in - * your catalog and find every occurrence as well as its significance. It - * quickly annotates videos stored in Google Cloud Storage, and helps you - * identify key nouns entities of your video, and when they occur within the - * video. Separate signal from noise, by retrieving relevant information at the - * video, shot or per frame. + * Create a videoIntelligenceServiceClient with additional helpers for common + * tasks. * - *

This is an auto-generated API

- * - * It does not follow the conventions you're familiar with from other parts of - * our library. A handwritten layer is not yet available. - * - * The example below shows you how to instantiate the generated client. For - * further documentation, please browse the - * [Video Intelligence .proto files](https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto) - * on GitHub. - * - * @constructor - * @alias module:video-intelligence + * Use this service to interact with the Google Cloud Video Intelligence API. * + * @param {object=} options - [Configuration object](#/docs). + * @param {number=} options.port - The port on which to connect to + * the remote host. + * @param {string=} options.servicePath - The domain name of the + * API remote host. * @resource [Cloud Video Intelligence](https://cloud.google.com/video-intelligence) - * - * @param {object} options - [Configuration object](#/docs). - * @param {number=} options.port - The port on which to connect to the remote - * host. - * @param {string=} options.servicePath - The domain name of the API remote - * host. */ -function VideoIntelligence(options) { +function videoIntelligenceV1beta1(options) { // Define the header options. - options = options || {}; - options.libName = 'gccl'; - options.libVersion = VERSION; + options = extend({}, options, { + libName: 'gccl', + libVersion: VERSION + }); - // Create the image annotator client with the provided options. - var client = v1beta1(options).videoIntelligenceServiceClient(options); + // Create the client with the provided options. + var client = gapic.v1beta1(options).videoIntelligenceServiceClient(options); return client; } -// The default export should be the latest version. -// Assign all versions as version properties on the default. -module.exports = VideoIntelligence; -module.exports.v1beta1 = v1beta1; +var v1beta1Protos = {}; + +extend(v1beta1Protos, gaxGrpc.load([{ + root: require('google-proto-files')('..'), + file: 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' +}]).google.cloud.videointelligence.v1beta1); + +module.exports = videoIntelligenceV1beta1; +module.exports.types = v1beta1Protos; +module.exports.v1beta1 = videoIntelligenceV1beta1; +module.exports.v1beta1.types = v1beta1Protos; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js index d7aa3548edb..15dd940809a 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/index.js @@ -1,11 +1,11 @@ /* - * Copyright 2017 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, @@ -27,8 +27,8 @@ function v1beta1(options) { return videoIntelligenceServiceClient(gaxGrpc); } -v1beta1.GAPIC_VERSION = '0.7.1'; +v1beta1.GAPIC_VERSION = '0.0.5'; v1beta1.SERVICE_ADDRESS = videoIntelligenceServiceClient.SERVICE_ADDRESS; v1beta1.ALL_SCOPES = videoIntelligenceServiceClient.ALL_SCOPES; -module.exports = v1beta1; +module.exports = v1beta1; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 52ee95379f5..dfb4488b0ff 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -35,7 +35,7 @@ var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; var DEFAULT_SERVICE_PORT = 443; -var CODE_GEN_NAME_VERSION = 'gapic/0.7.1'; +var CODE_GEN_NAME_VERSION = 'gapic/0.0.5'; /** * The scopes needed to make gRPC calls to all of the methods defined in @@ -48,15 +48,6 @@ var ALL_SCOPES = [ /** * Service that implements Google Cloud Video Intelligence API. * - * 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 videoIntelligenceServiceClient} - * - * @example - * var videointelligenceV1beta1 = require('@google-cloud/videointelligence').v1beta1({ - * // optional auth parameters. - * }); - * var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); * * @class */ @@ -185,7 +176,12 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * * @example * - * var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + * var videointelligence = require('@google-cloud/videointelligence'); + * + * var client = videointelligence.v1beta1({ + * // optional auth parameters. + * }); + * * var inputUri = ''; * var features = []; * var request = { @@ -209,10 +205,18 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * * // The response of the api call returning the complete operation. * var finalApiResponse = responses[2]; - * }).catch(function(err) { + * }) + * .catch(function(err) { * console.error(err); * }); * + * var inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features + * }; + * * // Handle the operation using the event emitter pattern. * client.annotateVideo(request).then(function(responses) { * var operation = responses[0]; @@ -234,7 +238,8 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * operation.on('error', function(err) { * // throw(err); * }) - * }).catch(function(err) { + * }) + * .catch(function(err) { * console.error(err); * }); */ @@ -283,4 +288,4 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { } module.exports = VideoIntelligenceServiceClientBuilder; 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-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index 444dac98658..aab6c6af542 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -1,11 +1,11 @@ /* - * Copyright 2017 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, @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +'use strict'; var assert = require('assert'); -var videointelligenceV1beta1 = require('../src/v1beta1')(); +var videointelligence = require('../src'); var FAKE_STATUS_CODE = 1; var error = new Error(); @@ -24,7 +25,8 @@ error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', function() { describe('annotateVideo', function() { it('invokes annotateVideo without error', function(done) { - var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + var client = videointelligence.v1beta1(); + // Mock request var inputUri = 'inputUri1707300727'; var features = []; @@ -51,7 +53,8 @@ describe('VideoIntelligenceServiceClient', function() { }); it('invokes annotateVideo with error', function(done) { - var client = videointelligenceV1beta1.videoIntelligenceServiceClient(); + var client = videointelligence.v1beta1(); + // Mock request var inputUri = 'inputUri1707300727'; var features = []; @@ -98,7 +101,7 @@ function mockLongRunningGrpcMethod(expectedRequest, response, error) { promise: function() { return new Promise(function(resolve, reject) { if (error) { - reject(error) + reject(error); } else { resolve([response]); } From e7561cbc1d9a03056c05bb94f1d6aafd0012228f Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 15 Aug 2017 14:40:13 -0400 Subject: [PATCH 019/418] video-intelligence @ 0.2.0 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4ba46430430..95481fd281f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", - "version": "0.1.1", + "version": "0.2.0", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From 310f35d52386d41742fa6b53086f06dc533ff986 Mon Sep 17 00:00:00 2001 From: Evawere Ogbe Date: Fri, 18 Aug 2017 05:46:21 -0700 Subject: [PATCH 020/418] Add docs to videointelligence v1beta1 client (#2538) --- .../src/index.js | 17 + .../v1beta1/doc/doc_google_protobuf_any.js | 121 ++++ .../src/v1beta1/doc/doc_google_rpc_status.js | 92 ++++ .../src/v1beta1/doc/doc_video_intelligence.js | 519 ++++++++++++++++++ 4 files changed, 749 insertions(+) create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 09e02a491b2..1a3984bbae5 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -36,8 +36,25 @@ const VERSION = require('../package.json').version; * Use this service to interact with the Google Cloud Video Intelligence API. * * @param {object=} options - [Configuration object](#/docs). + * @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 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. * @resource [Cloud Video Intelligence](https://cloud.google.com/video-intelligence) diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js new file mode 100644 index 00000000000..0697ec15814 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js new file mode 100644 index 00000000000..c85f1befe90 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js new file mode 100644 index 00000000000..d20f31cf39e --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js @@ -0,0 +1,519 @@ +/* + * 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. + */ + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @class + * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video + * is treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {number} labelDetectionMode + * If label detection has been requested, what labels should be detected + * in addition to video-level labels or segment-level labels. If unspecified, + * defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * + * @property {string} labelDetectionModel + * Model to use for label detection. + * Supported values: "latest" and "stable" (the default). + * + * @property {string} faceDetectionModel + * Model to use for face detection. + * Supported values: "latest" and "stable" (the default). + * + * @property {string} shotChangeDetectionModel + * Model to use for shot change detection. + * Supported values: "latest" and "stable" (the default). + * + * @property {string} safeSearchDetectionModel + * Model to use for safe search detection. + * Supported values: "latest" and "stable" (the default). + * + * @class + * @see [google.cloud.videointelligence.v1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {number} startTimeOffset + * Start offset in microseconds (inclusive). Unset means 0. + * + * @property {number} endTimeOffset + * End offset in microseconds (inclusive). Unset means 0. + * + * @class + * @see [google.cloud.videointelligence.v1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label location. + * + * @property {Object} segment + * Video segment. Set to [-1, -1] for video-level labels. + * Set to [timestamp, timestamp] for frame-level labels. + * Otherwise, corresponds to one of `AnnotateSpec.segments` + * (if specified) or to shot boundaries (if requested). + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @property {number} level + * Label level. + * + * The number should be among the values of [LabelLevel]{@link LabelLevel} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.LabelLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var LabelLocation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @property {Object[]} locations + * Where the label was detected and with what confidence. + * + * This object should have the same structure as [LabelLocation]{@link LabelLocation} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Safe search annotation (based on per-frame visual signals only). + * If no unsafe content has been detected in a frame, no annotations + * are present for that frame. If only some types of unsafe content + * have been detected in a frame, the likelihood is set to `UNKNOWN` + * for all other types of unsafe content. + * + * @property {number} adult + * Likelihood of adult content. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} spoof + * Likelihood that an obvious modification was made to the original + * version to make it appear funny or offensive. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} medical + * Likelihood of medical content. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} violent + * Likelihood of violent content. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} racy + * Likelihood of racy content. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} timeOffset + * Video time offset in microseconds. + * + * @class + * @see [google.cloud.videointelligence.v1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Bounding box. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @class + * @see [google.cloud.videointelligence.v1beta1.BoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var BoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face location. + * + * @property {Object} boundingBox + * Bounding box in a frame. + * + * This object should have the same structure as [BoundingBox]{@link BoundingBox} + * + * @property {number} timeOffset + * Video time offset in microseconds. + * + * @class + * @see [google.cloud.videointelligence.v1beta1.FaceLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var FaceLocation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face annotation. + * + * @property {string} thumbnail + * Thumbnail of a representative face view (in JPEG format). Encoding: base64. + * + * @property {Object[]} segments + * All locations where a face was detected. + * Faces are detected and tracked on a per-video basis + * (as opposed to across multiple videos). + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {Object[]} locations + * Face locations at one frame per second. + * + * This object should have the same structure as [FaceLocation]{@link FaceLocation} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} labelAnnotations + * Label annotations. There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * + * @property {Object[]} faceAnnotations + * Face annotations. There is exactly one element for each unique face. + * + * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {Object[]} safeSearchAnnotations + * Safe search annotations. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link SafeSearchAnnotation} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [google.rpc.Status]{@link external:"google.rpc.Status"} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link VideoAnnotationResults} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. + * Guaranteed to be 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link VideoAnnotationProgress} + * + * @class + * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} + */ +var AnnotateVideoProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + */ +var Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Human face detection and tracking. + */ + FACE_DETECTION: 2, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 3, + + /** + * Safe search detection. + */ + SAFE_SEARCH_DETECTION: 4 +}; + +/** + * Label level (scope). + * + * @enum {number} + */ +var LabelLevel = { + + /** + * Unspecified. + */ + LABEL_LEVEL_UNSPECIFIED: 0, + + /** + * Video-level. Corresponds to the whole video. + */ + VIDEO_LEVEL: 1, + + /** + * Segment-level. Corresponds to one of `AnnotateSpec.segments`. + */ + SEGMENT_LEVEL: 2, + + /** + * Shot-level. Corresponds to a single shot (i.e. a series of frames + * without a major camera position or background change). + */ + SHOT_LEVEL: 3, + + /** + * Frame-level. Corresponds to a single video frame. + */ + FRAME_LEVEL: 4 +}; + +/** + * Label detection mode. + * + * @enum {number} + */ +var LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + */ +var Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file From 4f2d0fad3f72c1f9aa9a9902e33f8bbc402d0181 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 23 Aug 2017 14:19:35 -0700 Subject: [PATCH 021/418] Build updates. (#462) --- packages/google-cloud-videointelligence/samples/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 242e6dd0283..6a4ff41ca5b 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,8 +14,7 @@ "scripts": { "lint": "samples lint", "pretest": "npm run lint", - "system-test": "ava -T 5m --verbose system-test/*.test.js", - "test": "npm run system-test" + "test": "samples test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/video-intelligence": "0.1.0", From 2fe6acfa906d2b2bbc2d2e320b4d354a1d57c4d6 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Tue, 12 Sep 2017 16:53:41 -0700 Subject: [PATCH 022/418] 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-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 95481fd281f..f9e2664585a 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -8,7 +8,7 @@ "files": [ "src", "AUTHORS", - "COPYING" + "LICENSE" ], "keywords": [ "google apis client", From 3e9475b10cb68c386b3cd228b4c71fb7d88da2e2 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Mon, 18 Sep 2017 15:02:54 -0700 Subject: [PATCH 023/418] Add video intelligence v1beta2. (#2613) --- .../package.json | 3 +- .../v1beta1/video_intelligence.proto | 340 ++++++++++ .../v1beta2/video_intelligence.proto | 390 +++++++++++ .../src/index.js | 75 ++- .../v1beta1/doc/doc_google_protobuf_any.js | 10 + .../src/v1beta1/doc/doc_google_rpc_status.js | 8 +- .../video_intelligence_service_client.js | 19 +- .../v1beta2/doc/doc_google_protobuf_any.js | 131 ++++ .../doc/doc_google_protobuf_duration.js | 97 +++ .../src/v1beta2/doc/doc_google_rpc_status.js | 92 +++ .../src/v1beta2/doc/doc_video_intelligence.js | 631 ++++++++++++++++++ .../src/v1beta2/index.js | 34 + .../video_intelligence_service_client.js | 290 ++++++++ ...eo_intelligence_service_client_config.json | 31 + .../test/gapic-v1beta2.js | 113 ++++ 15 files changed, 2237 insertions(+), 27 deletions(-) create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1beta2.js diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f9e2664585a..380005f06cb 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -25,8 +25,7 @@ ], "dependencies": { "extend": "^3.0", - "google-gax": "^0.13.2", - "google-proto-files": "^0.12.0" + "google-gax": "^0.13.5" }, "devDependencies": { "mocha": "^3.2.0" diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto new file mode 100644 index 00000000000..0b9703462d7 --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto @@ -0,0 +1,340 @@ +// 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.videointelligence.v1beta1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta1;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1beta1"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { post: "/v1beta1/videos:annotate" body: "*" }; + } +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. Encoding: base64. If unset, the input video(s) + // should be specified via `input_uri`. If set, `input_uri` should be unset. + string input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video + // is treated as a single segment. + repeated VideoSegment segments = 1; + + // If label detection has been requested, what labels should be detected + // in addition to video-level labels or segment-level labels. If unspecified, + // defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 2; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + bool stationary_camera = 3; + + // Model to use for label detection. + // Supported values: "latest" and "stable" (the default). + string label_detection_model = 4; + + // Model to use for face detection. + // Supported values: "latest" and "stable" (the default). + string face_detection_model = 5; + + // Model to use for shot change detection. + // Supported values: "latest" and "stable" (the default). + string shot_change_detection_model = 6; + + // Model to use for safe search detection. + // Supported values: "latest" and "stable" (the default). + string safe_search_detection_model = 7; +} + +// Video segment. +message VideoSegment { + // Start offset in microseconds (inclusive). Unset means 0. + int64 start_time_offset = 1; + + // End offset in microseconds (inclusive). Unset means 0. + int64 end_time_offset = 2; +} + +// Label location. +message LabelLocation { + // Video segment. Set to [-1, -1] for video-level labels. + // Set to [timestamp, timestamp] for frame-level labels. + // Otherwise, corresponds to one of `AnnotateSpec.segments` + // (if specified) or to shot boundaries (if requested). + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; + + // Label level. + LabelLevel level = 3; +} + +// Label annotation. +message LabelAnnotation { + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 1; + + // Language code for `description` in BCP-47 format. + string language_code = 2; + + // Where the label was detected and with what confidence. + repeated LabelLocation locations = 3; +} + +// Safe search annotation (based on per-frame visual signals only). +// If no unsafe content has been detected in a frame, no annotations +// are present for that frame. If only some types of unsafe content +// have been detected in a frame, the likelihood is set to `UNKNOWN` +// for all other types of unsafe content. +message SafeSearchAnnotation { + // Likelihood of adult content. + Likelihood adult = 1; + + // Likelihood that an obvious modification was made to the original + // version to make it appear funny or offensive. + Likelihood spoof = 2; + + // Likelihood of medical content. + Likelihood medical = 3; + + // Likelihood of violent content. + Likelihood violent = 4; + + // Likelihood of racy content. + Likelihood racy = 5; + + // Video time offset in microseconds. + int64 time_offset = 6; +} + +// Bounding box. +message BoundingBox { + // Left X coordinate. + int32 left = 1; + + // Right X coordinate. + int32 right = 2; + + // Bottom Y coordinate. + int32 bottom = 3; + + // Top Y coordinate. + int32 top = 4; +} + +// Face location. +message FaceLocation { + // Bounding box in a frame. + BoundingBox bounding_box = 1; + + // Video time offset in microseconds. + int64 time_offset = 2; +} + +// Face annotation. +message FaceAnnotation { + // Thumbnail of a representative face view (in JPEG format). Encoding: base64. + string thumbnail = 1; + + // All locations where a face was detected. + // Faces are detected and tracked on a per-video basis + // (as opposed to across multiple videos). + repeated VideoSegment segments = 2; + + // Face locations at one frame per second. + repeated FaceLocation locations = 3; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations. There is exactly one element for each unique label. + repeated LabelAnnotation label_annotations = 2; + + // Face annotations. There is exactly one element for each unique face. + repeated FaceAnnotation face_annotations = 3; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 4; + + // Safe search annotations. + repeated SafeSearchAnnotation safe_search_annotations = 6; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 5; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. + // Guaranteed to be 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Human face detection and tracking. + FACE_DETECTION = 2; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 3; + + // Safe search detection. + SAFE_SEARCH_DETECTION = 4; +} + +// Label level (scope). +enum LabelLevel { + // Unspecified. + LABEL_LEVEL_UNSPECIFIED = 0; + + // Video-level. Corresponds to the whole video. + VIDEO_LEVEL = 1; + + // Segment-level. Corresponds to one of `AnnotateSpec.segments`. + SEGMENT_LEVEL = 2; + + // Shot-level. Corresponds to a single shot (i.e. a series of frames + // without a major camera position or background change). + SHOT_LEVEL = 3; + + // Frame-level. Corresponds to a single video frame. + FRAME_LEVEL = 4; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto new file mode 100644 index 00000000000..b7ff5af6a2e --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -0,0 +1,390 @@ +// 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.videointelligence.v1beta2; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1beta2"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1beta2"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { post: "/v1beta2/videos:annotate" body: "*" }; + } +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. Encoding: base64. If unset, the input video(s) + // should be specified via `input_uri`. If set, `input_uri` should be unset. + bytes input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video + // is treated as a single segment. + repeated VideoSegment segments = 1; + + // Config for LABEL_DETECTION. + LabelDetectionConfig label_detection_config = 2; + + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig shot_change_detection_config = 3; + + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig explicit_content_detection_config = 4; + + // Config for FACE_DETECTION. + FaceDetectionConfig face_detection_config = 5; +} + +// Config for LABEL_DETECTION. +message LabelDetectionConfig { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 1; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + bool stationary_camera = 2; + + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// Config for SHOT_CHANGE_DETECTION. +message ShotChangeDetectionConfig { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for FACE_DETECTION. +message FaceDetectionConfig { + // Model to use for face detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; + + // Whether bounding boxes be included in the face annotation output. + bool include_bounding_boxes = 2; +} + +// Video segment. +message VideoSegment { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + google.protobuf.Duration start_time_offset = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + google.protobuf.Duration end_time_offset = 2; +} + +// Video segment level annotation results for label detection. +message LabelSegment { + // Video segment where a label was detected. + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Video frame level annotation results for label detection. +message LabelFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Detected entity from video analysis. +message Entity { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string entity_id = 1; + + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 2; + + // Language code for `description` in BCP-47 format. + string language_code = 3; +} + +// Label annotation. +message LabelAnnotation { + // Detected entity. + Entity entity = 1; + + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + repeated Entity category_entities = 2; + + // All video segments where a label was detected. + repeated LabelSegment segments = 3; + + // All video frames where a label was detected. + repeated LabelFrame frames = 4; +} + +// Video frame level annotation results for explicit content. +message ExplicitContentFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Likelihood of the pornography content.. + Likelihood pornography_likelihood = 2; +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +message ExplicitContentAnnotation { + // All video frames where explicit content was detected. + repeated ExplicitContentFrame frames = 1; +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +message NormalizedBoundingBox { + // Left X coordinate. + float left = 1; + + // Top Y coordinate. + float top = 2; + + // Right X coordinate. + float right = 3; + + // Bottom Y coordinate. + float bottom = 4; +} + +// Video segment level annotation results for face detection. +message FaceSegment { + // Video segment where a face was detected. + VideoSegment segment = 1; +} + +// Video frame level annotation results for face detection. +message FaceFrame { + // Normalized Bounding boxes in a frame. + // There can be more than one boxes if the same face is detected in multiple + // locations within the current frame. + repeated NormalizedBoundingBox normalized_bounding_boxes = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this location. + google.protobuf.Duration time_offset = 2; +} + +// Face annotation. +message FaceAnnotation { + // Thumbnail of a representative face view (in JPEG format). Encoding: base64. + bytes thumbnail = 1; + + // All video segments where a face was detected. + repeated FaceSegment segments = 2; + + // All video frames where a face was detected. + repeated FaceFrame frames = 3; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + repeated LabelAnnotation segment_label_annotations = 2; + + // Label annotations on shot level. + // There is exactly one element for each unique label. + repeated LabelAnnotation shot_label_annotations = 3; + + // Label annotations on frame level. + // There is exactly one element for each unique label. + repeated LabelAnnotation frame_label_annotations = 4; + + // Face annotations. There is exactly one element for each unique face. + repeated FaceAnnotation face_annotations = 5; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 6; + + // Explicit content annotation. + ExplicitContentAnnotation explicit_annotation = 7; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 9; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. + // Guaranteed to be 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // Human face detection and tracking. + FACE_DETECTION = 4; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 1a3984bbae5..f68907b7cc1 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -23,17 +23,68 @@ var extend = require('extend'); var gapic = { - v1beta1: require('./v1beta1') + v1beta1: require('./v1beta1'), + v1beta2: require('./v1beta2'), }; var gaxGrpc = require('google-gax').grpc(); +var path = require('path'); const VERSION = require('../package.json').version; /** - * Create a videoIntelligenceServiceClient with additional helpers for common + * Create an videoIntelligenceServiceClient with additional helpers for common * tasks. * - * Use this service to interact with the Google Cloud Video Intelligence API. + * Service that implements Google Cloud Video Intelligence API. + * + * @param {object=} options - [Configuration object](#/docs). + * @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 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. + */ +function videoIntelligenceV1beta2(options) { + // Define the header options. + options = extend({}, options, { + libName: 'gccl', + libVersion: VERSION + }); + + // Create the client with the provided options. + var client = gapic.v1beta2(options).videoIntelligenceServiceClient(options); + return client; +} + +var v1beta2Protos = {}; + +extend(v1beta2Protos, gaxGrpc.loadProto( + path.join(__dirname, '..', 'protos', + 'google/cloud/videointelligence/v1beta2/video_intelligence.proto') +).google.cloud.videointelligence.v1beta2); + + +/** + * Create an videoIntelligenceServiceClient with additional helpers for common + * tasks. + * + * Service that implements Google Cloud Video Intelligence API. * * @param {object=} options - [Configuration object](#/docs). * @param {object=} options.credentials - Credentials object. @@ -57,7 +108,6 @@ const VERSION = require('../package.json').version; * of native Promises. * @param {string=} options.servicePath - The domain name of the * API remote host. - * @resource [Cloud Video Intelligence](https://cloud.google.com/video-intelligence) */ function videoIntelligenceV1beta1(options) { // Define the header options. @@ -73,12 +123,15 @@ function videoIntelligenceV1beta1(options) { var v1beta1Protos = {}; -extend(v1beta1Protos, gaxGrpc.load([{ - root: require('google-proto-files')('..'), - file: 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' -}]).google.cloud.videointelligence.v1beta1); +extend(v1beta1Protos, gaxGrpc.loadProto( + path.join(__dirname, '..', 'protos', + 'google/cloud/videointelligence/v1beta1/video_intelligence.proto') +).google.cloud.videointelligence.v1beta1); + -module.exports = videoIntelligenceV1beta1; -module.exports.types = v1beta1Protos; +module.exports = videoIntelligenceV1beta2; +module.exports.types = v1beta2Protos; module.exports.v1beta1 = videoIntelligenceV1beta1; -module.exports.v1beta1.types = v1beta1Protos; \ No newline at end of file +module.exports.v1beta1.types = v1beta1Protos; +module.exports.v1beta2 = videoIntelligenceV1beta2; +module.exports.v1beta2.types = v1beta2Protos; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js index 0697ec15814..92cce16fdae 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js @@ -55,6 +55,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 '/' diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js index c85f1befe90..e2614e9e2f3 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js @@ -37,7 +37,7 @@ * 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 +60,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 @@ -83,8 +83,8 @@ * {@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. + * 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"} * diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index dfb4488b0ff..24872b7a448 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -30,6 +30,7 @@ var configData = require('./video_intelligence_service_client_config'); var extend = require('extend'); var gax = require('google-gax'); +var path = require('path'); var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; @@ -51,7 +52,7 @@ var ALL_SCOPES = [ * * @class */ -function VideoIntelligenceServiceClient(gaxGrpc, grpcClients, opts) { +function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, opts) { opts = extend({ servicePath: SERVICE_ADDRESS, port: DEFAULT_SERVICE_PORT, @@ -78,8 +79,8 @@ function VideoIntelligenceServiceClient(gaxGrpc, grpcClients, opts) { this.longrunningDescriptors = { annotateVideo: new gax.LongrunningDescriptor( this.operationsClient, - grpcClients.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.decode, - grpcClients.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.decode) + loadedProtos.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.decode, + loadedProtos.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.decode) }; var defaults = gaxGrpc.constructSettings( @@ -92,7 +93,7 @@ function VideoIntelligenceServiceClient(gaxGrpc, grpcClients, opts) { this.auth = gaxGrpc.auth; var videoIntelligenceServiceStub = gaxGrpc.createStub( - grpcClients.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, + loadedProtos.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, opts); var videoIntelligenceServiceStubMethods = [ 'annotateVideo' @@ -260,11 +261,9 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { return new VideoIntelligenceServiceClientBuilder(gaxGrpc); } - var videoIntelligenceServiceClient = gaxGrpc.load([{ - root: require('google-proto-files')('..'), - file: 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' - }]); - extend(this, videoIntelligenceServiceClient.google.cloud.videointelligence.v1beta1); + var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta1/video_intelligence.proto')); + extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta1); /** @@ -282,7 +281,7 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { * {@link gax.constructSettings} for the format. */ this.videoIntelligenceServiceClient = function(opts) { - return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceClient, opts); + return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceStubProtos, opts); }; extend(this.videoIntelligenceServiceClient, VideoIntelligenceServiceClient); } diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js new file mode 100644 index 00000000000..92cce16fdae --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js @@ -0,0 +1,131 @@ +/* + * 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) + * ... + * + * 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 {@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-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js new file mode 100644 index 00000000000..d4c9bfee517 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js @@ -0,0 +1,97 @@ +/* + * 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 Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + * + * @external "google.protobuf.Duration" + * @property {number} seconds + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + * + * @property {number} nanos + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + * + * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js new file mode 100644 index 00000000000..e2614e9e2f3 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/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` 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. + * + * @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 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"} + * + * @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-videointelligence/src/v1beta2/doc/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js new file mode 100644 index 00000000000..30077bc21ff --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js @@ -0,0 +1,631 @@ +/* + * 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. + */ + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video + * is treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [LabelDetectionConfig]{@link LabelDetectionConfig} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [ShotChangeDetectionConfig]{@link ShotChangeDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link ExplicitContentDetectionConfig} + * + * @property {Object} faceDetectionConfig + * Config for FACE_DETECTION. + * + * This object should have the same structure as [FaceDetectionConfig]{@link FaceDetectionConfig} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION. + * + * @property {number} labelDetectionMode + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. + * If unspecified, defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * Should be used with `SHOT_AND_FRAME_MODE` enabled. + * + * @property {string} model + * Model to use for label detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @class + * @see [google.cloud.videointelligence.v1beta2.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var LabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION. + * + * @property {string} model + * Model to use for shot change detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @class + * @see [google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var ShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION. + * + * @property {string} model + * Model to use for explicit content detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @class + * @see [google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var ExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for FACE_DETECTION. + * + * @property {string} model + * Model to use for face detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @property {boolean} includeBoundingBoxes + * Whether bounding boxes be included in the face annotation output. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var FaceDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {Object} startTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the start of the segment (inclusive). + * + * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * + * @property {Object} endTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the end of the segment (inclusive). + * + * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for label detection. + * + * @property {Object} segment + * Video segment where a label was detected. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var LabelSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for label detection. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var LabelFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Detected entity from video analysis. + * + * @property {string} entityId + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var Entity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {Object} entity + * Detected entity. + * + * This object should have the same structure as [Entity]{@link Entity} + * + * @property {Object[]} categoryEntities + * Common categories for the detected entity. + * E.g. when the label is `Terrier` the category is likely `dog`. And in some + * cases there might be more than one categories e.g. `Terrier` could also be + * a `pet`. + * + * This object should have the same structure as [Entity]{@link Entity} + * + * @property {Object[]} segments + * All video segments where a label was detected. + * + * This object should have the same structure as [LabelSegment]{@link LabelSegment} + * + * @property {Object[]} frames + * All video frames where a label was detected. + * + * This object should have the same structure as [LabelFrame]{@link LabelFrame} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for explicit content. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * + * @property {number} pornographyLikelihood + * Likelihood of the pornography content.. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var ExplicitContentFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Explicit content annotation (based on per-frame visual signals only). + * If no explicit content has been detected in a frame, no annotations are + * present for that frame. + * + * @property {Object[]} frames + * All video frames where explicit content was detected. + * + * This object should have the same structure as [ExplicitContentFrame]{@link ExplicitContentFrame} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var ExplicitContentAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding box. + * The normalized vertex coordinates are relative to the original image. + * Range: [0, 1]. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @class + * @see [google.cloud.videointelligence.v1beta2.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var NormalizedBoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for face detection. + * + * @property {Object} segment + * Video segment where a face was detected. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var FaceSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for face detection. + * + * @property {Object[]} normalizedBoundingBoxes + * Normalized Bounding boxes in a frame. + * There can be more than one boxes if the same face is detected in multiple + * locations within the current frame. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link NormalizedBoundingBox} + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this location. + * + * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var FaceFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face annotation. + * + * @property {string} thumbnail + * Thumbnail of a representative face view (in JPEG format). Encoding: base64. + * + * @property {Object[]} segments + * All video segments where a face was detected. + * + * This object should have the same structure as [FaceSegment]{@link FaceSegment} + * + * @property {Object[]} frames + * All video frames where a face was detected. + * + * This object should have the same structure as [FaceFrame]{@link FaceFrame} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} segmentLabelAnnotations + * Label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * + * @property {Object[]} shotLabelAnnotations + * Label annotations on shot level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * + * @property {Object[]} frameLabelAnnotations + * Label annotations on frame level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * + * @property {Object[]} faceAnnotations + * Face annotations. There is exactly one element for each unique face. + * + * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * + * @property {Object} explicitAnnotation + * Explicit content annotation. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link ExplicitContentAnnotation} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [google.rpc.Status]{@link external:"google.rpc.Status"} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link VideoAnnotationResults} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. + * Guaranteed to be 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link VideoAnnotationProgress} + * + * @class + * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} + */ +var AnnotateVideoProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + */ +var Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + EXPLICIT_CONTENT_DETECTION: 3, + + /** + * Human face detection and tracking. + */ + FACE_DETECTION: 4 +}; + +/** + * Label detection mode. + * + * @enum {number} + */ +var LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + */ +var Likelihood = { + + /** + * Unspecified likelihood. + */ + LIKELIHOOD_UNSPECIFIED: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.js new file mode 100644 index 00000000000..64f694bddd1 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/index.js @@ -0,0 +1,34 @@ +/* + * 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 videoIntelligenceServiceClient = require('./video_intelligence_service_client'); +var gax = require('google-gax'); +var extend = require('extend'); + +function v1beta2(options) { + options = extend({ + scopes: v1beta2.ALL_SCOPES + }, options); + var gaxGrpc = gax.grpc(options); + return videoIntelligenceServiceClient(gaxGrpc); +} + +v1beta2.GAPIC_VERSION = '0.0.5'; +v1beta2.SERVICE_ADDRESS = videoIntelligenceServiceClient.SERVICE_ADDRESS; +v1beta2.ALL_SCOPES = videoIntelligenceServiceClient.ALL_SCOPES; + +module.exports = v1beta2; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js new file mode 100644 index 00000000000..378a97bd62d --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -0,0 +1,290 @@ +/* + * 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/videointelligence/v1beta2/video_intelligence.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 configData = require('./video_intelligence_service_client_config'); +var extend = require('extend'); +var gax = require('google-gax'); +var path = require('path'); + +var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; + +var DEFAULT_SERVICE_PORT = 443; + +var CODE_GEN_NAME_VERSION = 'gapic/0.0.5'; + +/** + * 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 implements Google Cloud Video Intelligence API. + * + * + * @class + */ +function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, 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 + ); + + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc + }).operationsClient(opts); + + this.longrunningDescriptors = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + loadedProtos.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.decode, + loadedProtos.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.decode) + }; + + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', + configData, + opts.clientConfig, + {'x-goog-api-client': googleApiClient.join(' ')}); + + var self = this; + + this.auth = gaxGrpc.auth; + var videoIntelligenceServiceStub = gaxGrpc.createStub( + loadedProtos.google.cloud.videointelligence.v1beta2.VideoIntelligenceService, + opts); + var videoIntelligenceServiceStubMethods = [ + 'annotateVideo' + ]; + videoIntelligenceServiceStubMethods.forEach(function(methodName) { + self['_' + methodName] = gax.createApiCall( + videoIntelligenceServiceStub.then(function(videoIntelligenceServiceStub) { + return function() { + var args = Array.prototype.slice.call(arguments, 0); + return videoIntelligenceServiceStub[methodName].apply(videoIntelligenceServiceStub, args); + }; + }), + defaults[methodName], + self.longrunningDescriptors[methodName]); + }); +} + + +/** + * Get the project ID used by this class. + * @param {function(Error, string)} callback - the callback to be called with + * the current project Id. + */ +VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { + return this.auth.getProjectId(callback); +}; + +// Service calls + +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {number[]} request.features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link Feature} + * @param {string=} request.inputContent + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * @param {Object=} request.videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link VideoContext} + * @param {string=} request.outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string=} request.locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object=} options + * Optional parameters. You 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. + * @return {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 + * + * var videoIntelligence = require('@google-cloud/video-intelligence'); + * + * var client = videoIntelligence.v1beta2({ + * // optional auth parameters. + * }); + * + * var inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(request).then(function(responses) { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }).then(function(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(function(err) { + * console.error(err); + * }); + * + * var inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features + * }; + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(request).then(function(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', function(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', function(metadata, apiResponse) { + * // doSomethingWith(metadata) + * }) + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', function(err) { + * // throw(err); + * }) + * }) + * .catch(function(err) { + * console.error(err); + * }); + */ +VideoIntelligenceServiceClient.prototype.annotateVideo = function(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + if (options === undefined) { + options = {}; + } + + return this._annotateVideo(request, options, callback); +}; + +function VideoIntelligenceServiceClientBuilder(gaxGrpc) { + if (!(this instanceof VideoIntelligenceServiceClientBuilder)) { + return new VideoIntelligenceServiceClientBuilder(gaxGrpc); + } + + var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta2/video_intelligence.proto')); + extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta2); + + + /** + * Build a new instance of {@link VideoIntelligenceServiceClient}. + * + * @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. + */ + this.videoIntelligenceServiceClient = function(opts) { + return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceStubProtos, opts); + }; + extend(this.videoIntelligenceServiceClient, VideoIntelligenceServiceClient); +} +module.exports = VideoIntelligenceServiceClientBuilder; +module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; +module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..b52c46ea68c --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1beta2.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js new file mode 100644 index 00000000000..e8d196874db --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -0,0 +1,113 @@ +/* + * 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 videoIntelligence = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', function() { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', function(done) { + var client = videoIntelligence.v1beta2(); + + // Mock request + var inputUri = 'inputUri1707300727'; + var features = []; + var request = { + inputUri : inputUri, + features : features + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._annotateVideo = mockLongRunningGrpcMethod(request, expectedResponse); + + client.annotateVideo(request).then(function(responses) { + var operation = responses[0]; + return operation.promise(); + }).then(function(responses) { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }).catch(function(err) { + done(err); + }); + }); + + it('invokes annotateVideo with error', function(done) { + var client = videoIntelligence.v1beta2(); + + // Mock request + var inputUri = 'inputUri1707300727'; + var features = []; + var request = { + inputUri : inputUri, + features : features + }; + + // Mock Grpc layer + client._annotateVideo = mockLongRunningGrpcMethod(request, null, error); + + client.annotateVideo(request).then(function(responses) { + var operation = responses[0]; + return operation.promise(); + }).then(function(responses) { + assert.fail(); + }).catch(function(err) { + 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); + } + }; +} + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return function(request) { + assert.deepStrictEqual(request, expectedRequest); + var mockOperation = { + promise: function() { + return new Promise(function(resolve, reject) { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + } + }; + return Promise.resolve([mockOperation]); + }; +} From f02f1553e56be5522b23595e3529404fe6b106ed Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 18 Sep 2017 18:21:26 -0400 Subject: [PATCH 024/418] video-intelligence @ 0.3.0 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 380005f06cb..c1f247ba2c6 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", - "version": "0.2.0", + "version": "0.3.0", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From da291f7304695b26bf83e6f3d79e535524550fef Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 18 Sep 2017 21:16:29 -0400 Subject: [PATCH 025/418] language|video-intelligence: add protos to package.json --- packages/google-cloud-videointelligence/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index c1f247ba2c6..206e7596c77 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -6,6 +6,7 @@ "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", "files": [ + "protos", "src", "AUTHORS", "LICENSE" From 338574fadbe367313d4a11883d5f6b953d9ef42d Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 18 Sep 2017 21:17:20 -0400 Subject: [PATCH 026/418] video-intelligence @ 0.3.1 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 206e7596c77..29ae4c606c9 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", - "version": "0.3.0", + "version": "0.3.1", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From 567cbd028517d92a329923ec6efe70ab2b26e6ee Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Thu, 21 Sep 2017 11:11:29 -0700 Subject: [PATCH 027/418] Video Intelligence 0.3.2 (#2625) --- .../package.json | 3 +- .../src/index.js | 30 ++++++------- .../video_intelligence_service_client.js | 17 +++++-- .../video_intelligence_service_client.js | 45 +++++++++---------- .../test/gapic-v1beta1.js | 6 +++ .../test/gapic-v1beta2.js | 20 ++++----- 6 files changed, 66 insertions(+), 55 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 29ae4c606c9..c9ec22c8fca 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -26,7 +26,8 @@ ], "dependencies": { "extend": "^3.0", - "google-gax": "^0.13.5" + "google-gax": "^0.14.0", + "protobufjs": "^6.8.0" }, "devDependencies": { "mocha": "^3.2.0" diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index f68907b7cc1..0e8185d6736 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -31,6 +31,7 @@ var path = require('path'); const VERSION = require('../package.json').version; + /** * Create an videoIntelligenceServiceClient with additional helpers for common * tasks. @@ -60,7 +61,7 @@ const VERSION = require('../package.json').version; * @param {string=} options.servicePath - The domain name of the * API remote host. */ -function videoIntelligenceV1beta2(options) { +function videoIntelligenceV1beta1(options) { // Define the header options. options = extend({}, options, { libName: 'gccl', @@ -68,16 +69,16 @@ function videoIntelligenceV1beta2(options) { }); // Create the client with the provided options. - var client = gapic.v1beta2(options).videoIntelligenceServiceClient(options); + var client = gapic.v1beta1(options).videoIntelligenceServiceClient(options); return client; } -var v1beta2Protos = {}; +var v1beta1Protos = {}; -extend(v1beta2Protos, gaxGrpc.loadProto( - path.join(__dirname, '..', 'protos', - 'google/cloud/videointelligence/v1beta2/video_intelligence.proto') -).google.cloud.videointelligence.v1beta2); +extend(v1beta1Protos, gaxGrpc.loadProto( + path.join(__dirname, '..', 'protos'), + 'google/cloud/videointelligence/v1beta1/video_intelligence.proto') + .google.cloud.videointelligence.v1beta1); /** @@ -109,7 +110,7 @@ extend(v1beta2Protos, gaxGrpc.loadProto( * @param {string=} options.servicePath - The domain name of the * API remote host. */ -function videoIntelligenceV1beta1(options) { +function videoIntelligenceV1beta2(options) { // Define the header options. options = extend({}, options, { libName: 'gccl', @@ -117,17 +118,16 @@ function videoIntelligenceV1beta1(options) { }); // Create the client with the provided options. - var client = gapic.v1beta1(options).videoIntelligenceServiceClient(options); + var client = gapic.v1beta2(options).videoIntelligenceServiceClient(options); return client; } -var v1beta1Protos = {}; - -extend(v1beta1Protos, gaxGrpc.loadProto( - path.join(__dirname, '..', 'protos', - 'google/cloud/videointelligence/v1beta1/video_intelligence.proto') -).google.cloud.videointelligence.v1beta1); +var v1beta2Protos = {}; +extend(v1beta2Protos, gaxGrpc.loadProto( + path.join(__dirname, '..', 'protos'), + 'google/cloud/videointelligence/v1beta2/video_intelligence.proto') + .google.cloud.videointelligence.v1beta2); module.exports = videoIntelligenceV1beta2; module.exports.types = v1beta2Protos; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 24872b7a448..d404f937988 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -31,6 +31,7 @@ var configData = require('./video_intelligence_service_client_config'); var extend = require('extend'); var gax = require('google-gax'); var path = require('path'); +var protobuf = require('protobufjs'); var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; @@ -76,11 +77,19 @@ function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, opts) { grpc: gaxGrpc.grpc }).operationsClient(opts); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta1/video_intelligence.proto'), + protoFilesRoot); + + var annotateVideoResponse = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta1.AnnotateVideoResponse'); + var annotateVideoMetadata = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta1.AnnotateVideoProgress'); + this.longrunningDescriptors = { annotateVideo: new gax.LongrunningDescriptor( this.operationsClient, - loadedProtos.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.decode, - loadedProtos.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.decode) + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; var defaults = gaxGrpc.constructSettings( @@ -262,7 +271,7 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { } var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta1/video_intelligence.proto')); + path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta1/video_intelligence.proto'); extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta1); @@ -287,4 +296,4 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { } module.exports = VideoIntelligenceServiceClientBuilder; 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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 378a97bd62d..fecd7239eb4 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -31,6 +31,7 @@ var configData = require('./video_intelligence_service_client_config'); var extend = require('extend'); var gax = require('google-gax'); var path = require('path'); +var protobuf = require('protobufjs'); var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; @@ -76,11 +77,19 @@ function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, opts) { grpc: gaxGrpc.grpc }).operationsClient(opts); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta2/video_intelligence.proto'), + protoFilesRoot); + + var annotateVideoResponse = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta2.AnnotateVideoResponse'); + var annotateVideoMetadata = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta2.AnnotateVideoProgress'); + this.longrunningDescriptors = { annotateVideo: new gax.LongrunningDescriptor( this.operationsClient, - loadedProtos.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.decode, - loadedProtos.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.decode) + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; var defaults = gaxGrpc.constructSettings( @@ -131,7 +140,7 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * * @param {Object} request * The request object that will be sent. - * @param {string} request.inputUri + * @param {string=} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: @@ -142,13 +151,13 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {number[]} request.features - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link Feature} * @param {string=} request.inputContent * The video data bytes. Encoding: base64. If unset, the input video(s) * should be specified via `input_uri`. If set, `input_uri` should be unset. + * @param {number[]=} request.features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link Feature} * @param {Object=} request.videoContext * Additional video context and/or feature-specific parameters. * @@ -183,15 +192,10 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * // optional auth parameters. * }); * - * var inputUri = ''; - * var features = []; - * var request = { - * inputUri: inputUri, - * features: features - * }; + * * * // Handle the operation using the promise pattern. - * client.annotateVideo(request).then(function(responses) { + * client.annotateVideo({}).then(function(responses) { * var operation = responses[0]; * var initialApiResponse = responses[1]; * @@ -211,15 +215,10 @@ VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { * console.error(err); * }); * - * var inputUri = ''; - * var features = []; - * var request = { - * inputUri: inputUri, - * features: features - * }; + * * * // Handle the operation using the event emitter pattern. - * client.annotateVideo(request).then(function(responses) { + * client.annotateVideo({}).then(function(responses) { * var operation = responses[0]; * var initialApiResponse = responses[1]; * @@ -262,7 +261,7 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { } var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta2/video_intelligence.proto')); + path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta2/video_intelligence.proto'); extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta2); @@ -287,4 +286,4 @@ function VideoIntelligenceServiceClientBuilder(gaxGrpc) { } module.exports = VideoIntelligenceServiceClientBuilder; 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-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index aab6c6af542..2363e93191e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -77,6 +77,12 @@ describe('VideoIntelligenceServiceClient', function() { done(); }); }); + + it('has longrunning decoder functions', function() { + var client = videointelligence.v1beta1(); + assert(client.longrunningDescriptors.annotateVideo.responseDecoder instanceof Function); + assert(client.longrunningDescriptors.annotateVideo.metadataDecoder instanceof Function); + }); }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index e8d196874db..07e7c5d25ce 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -28,12 +28,7 @@ describe('VideoIntelligenceServiceClient', function() { var client = videoIntelligence.v1beta2(); // Mock request - var inputUri = 'inputUri1707300727'; - var features = []; - var request = { - inputUri : inputUri, - features : features - }; + var request = {}; // Mock response var expectedResponse = {}; @@ -56,12 +51,7 @@ describe('VideoIntelligenceServiceClient', function() { var client = videoIntelligence.v1beta2(); // Mock request - var inputUri = 'inputUri1707300727'; - var features = []; - var request = { - inputUri : inputUri, - features : features - }; + var request = {}; // Mock Grpc layer client._annotateVideo = mockLongRunningGrpcMethod(request, null, error); @@ -77,6 +67,12 @@ describe('VideoIntelligenceServiceClient', function() { done(); }); }); + + it('has longrunning decoder functions', function() { + var client = videoIntelligence.v1beta2(); + assert(client.longrunningDescriptors.annotateVideo.responseDecoder instanceof Function); + assert(client.longrunningDescriptors.annotateVideo.metadataDecoder instanceof Function); + }); }); }); From b39ccdde8b95edaf3aba43e92c7e32dec1237b53 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 21 Sep 2017 14:12:30 -0400 Subject: [PATCH 028/418] video-intelligence @ 0.3.2 tagged. --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index c9ec22c8fca..dc5a11691c0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", - "version": "0.3.1", + "version": "0.3.2", "author": "Google Inc", "description": "Google Cloud Video Intelligence API client for Node.js", "main": "src/index.js", From 3e5f92191fc303b9c391f7bd77007192b3cc6b9e Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Thu, 21 Sep 2017 15:31:28 -0700 Subject: [PATCH 029/418] Video update (#476) * Speed up video tests * Update video libraries WIP * Make tests serial to reduce flakiness * Remove old TODOs * Fixes endpoint for faces * Updates to new client library version * update endpoint. * Upgrades to new client library version --- .../samples/README.md | 14 ++-- .../samples/package.json | 9 ++- .../samples/quickstart.js | 67 +++++++------------ 3 files changed, 35 insertions(+), 55 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index fca30dac830..05da66feb4f 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -26,7 +26,7 @@ The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) yarn install -[prereq]: ../README.md#prerequisities +[prereq]: ../README.md#prerequisites [run]: ../README.md#how-to-run-a-sample ## Samples @@ -44,17 +44,17 @@ Commands: Intelligence API. labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. - safe-search Detects adult content in a video stored in Google Cloud Storage. + safe-search Detects explicit content in a video stored in Google Cloud Storage. Options: --help Show help [boolean] Examples: - node analyze.js faces gs://demomaker/volleyball_court.mp4 - node analyze.js shots gs://demomaker/volleyball_court.mp4 - node analyze.js labels-gcs gs://demomaker/volleyball_court.mp4 - node analyze.js labels-file cat.mp4 - node analyze.js safe-search gs://demomaker/volleyball_court.mp4 + node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 + node analyze.js shots gs://demomaker/sushi.mp4 + node analyze.js labels-gcs gs://demomaker/tomatoes.mp4 + node analyze.js labels-file resources/cat.mp4 + node analyze.js safe-search gs://demomaker/tomatoes.mp4 For more information, see https://cloud.google.com/video-intelligence/docs ``` diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 6a4ff41ca5b..e17c092aa4f 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -17,15 +17,14 @@ "test": "samples test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "0.1.0", - "googleapis": "19.0.0", + "@google-cloud/video-intelligence": "^0.3.2", "long": "^3.2.0", - "safe-buffer": "5.1.0", + "safe-buffer": "5.1.1", "yargs": "8.0.2" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.15", - "ava": "0.19.1", + "@google-cloud/nodejs-repo-tools": "1.4.17", + "ava": "0.22.0", "proxyquire": "1.8.0" }, "cloud-repo-tools": { diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 3aeec4334ce..bb40eafe9fa 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -20,17 +20,15 @@ const Video = require('@google-cloud/video-intelligence'); // Instantiates a client -const video = Video({ - projectId: process.env.GCLOUD_PROJECT // Replace with your Google Cloud project ID -}); +const video = Video(); // The GCS filepath of the video to analyze -const gcsUri = 'gs://demomaker/tomatoes.mp4'; +const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; // Construct request const request = { inputUri: gcsUri, - features: ['FACE_DETECTION', 'LABEL_DETECTION', 'SHOT_CHANGE_DETECTION'] + features: ['LABEL_DETECTION'] }; // Execute request @@ -44,47 +42,30 @@ video.annotateVideo(request) // Gets annotations for video const annotations = results[0].annotationResults[0]; - // Gets faces for video from its annotations - const faces = annotations.faceAnnotations; - faces.forEach((face, faceIdx) => { - console.log('Thumbnail size:', face.thumbnail.length); - face.segments.forEach((segment, segmentIdx) => { - console.log(`Face #${faceIdx}, appearance #${segmentIdx}:`); - console.log(`\tStart: ${segment.startTimeOffset / 1e6}s`); - console.log(`\tEnd: ${segment.endTimeOffset / 1e6}s`); - }); - }); - // Gets labels for video from its annotations - const labels = annotations.labelAnnotations; + const labels = annotations.segmentLabelAnnotations; labels.forEach((label) => { - console.log(`Label ${label.description} occurs at:`); - const isEntireVideo = label.locations.some((location) => - location.segment.startTimeOffset.toNumber() === -1 && - location.segment.endTimeOffset.toNumber() === -1 - ); - - if (isEntireVideo) { - console.log(`\tEntire video`); - } else { - label.locations.forEach((location) => { - console.log(`\tStart: ${location.segment.startTimeOffset / 1e6}s`); - console.log(`\tEnd: ${location.segment.endTimeOffset / 1e6}s`); - }); - } - }); - - // Gets shot changes for video from its annotations - const shotChanges = annotations.shotAnnotations; - if (shotChanges.length === 1) { - console.log(`The entire video is one scene.`); - } else { - shotChanges.forEach((shot, shotIdx) => { - console.log(`Scene ${shotIdx} occurs from:`); - console.log(`\tStart: ${shot.startTimeOffset / 1e6}s`); - console.log(`\tEnd: ${shot.endTimeOffset / 1e6}s`); + console.log(`Label ${label.entity.description} occurs at:`); + label.segments.forEach((segment) => { + segment = segment.segment; + if (segment.startTimeOffset.seconds === undefined) { + segment.startTimeOffset.seconds = 0; + } + if (segment.startTimeOffset.nanos === undefined) { + segment.startTimeOffset.nanos = 0; + } + if (segment.endTimeOffset.seconds === undefined) { + segment.endTimeOffset.seconds = 0; + } + if (segment.endTimeOffset.nanos === undefined) { + segment.endTimeOffset.nanos = 0; + } + console.log(`\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s`); + console.log(`\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s`); }); - } + }); }) .catch((err) => { console.error('ERROR:', err); From 949fe3197b03c3318a52d177727344deebac2bbb Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Mon, 23 Oct 2017 16:14:38 -0700 Subject: [PATCH 030/418] chore: update deps: google-{gax,proto-files} (#2691) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index dc5a11691c0..f2ee8a7a520 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -26,7 +26,7 @@ ], "dependencies": { "extend": "^3.0", - "google-gax": "^0.14.0", + "google-gax": "^0.14.2", "protobufjs": "^6.8.0" }, "devDependencies": { From bca44dcf69debb83d1e524e04680352c9209639c Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 24 Oct 2017 12:13:22 -0700 Subject: [PATCH 031/418] Repo Migration (#4) --- .../.appveyor.yml | 23 + .../.circleci/config.yml | 190 ++++++ .../.circleci/key.json.enc | Bin 0 -> 2384 bytes .../.cloud-repo-tools.json | 16 + .../.eslintignore | 3 + .../.eslintrc.yml | 13 + .../google-cloud-videointelligence/.gitignore | 10 + .../google-cloud-videointelligence/.jsdoc.js | 45 ++ .../google-cloud-videointelligence/.mailmap | 6 + .../google-cloud-videointelligence/.nycrc | 26 + .../.prettierignore | 3 + .../.prettierrc | 8 + .../CODE_OF_CONDUCT.md | 43 ++ .../CONTRIBUTORS | 14 + .../google-cloud-videointelligence/LICENSE | 202 ++++++ .../google-cloud-videointelligence/README.md | 174 +++++- .../package.json | 54 +- .../samples/.eslintrc.yml | 3 + .../samples/README.md | 43 +- .../samples/package.json | 34 +- .../samples/quickstart.js | 37 +- .../src/index.js | 203 +++---- .../v1beta1}/doc_video_intelligence.js | 131 ++-- .../protobuf/doc_any.js} | 46 +- .../doc/google/rpc/doc_status.js} | 50 +- .../src/v1beta1/index.js | 47 +- .../video_intelligence_service_client.js | 575 ++++++++++-------- .../v1beta2}/doc_video_intelligence.js | 176 +++--- .../protobuf/doc_any.js} | 46 +- .../protobuf/doc_duration.js} | 42 +- .../doc/google/rpc/doc_status.js} | 50 +- .../src/v1beta2/index.js | 47 +- .../video_intelligence_service_client.js | 555 +++++++++-------- .../test/.eslintrc.yml | 5 + .../test/gapic-v1beta1.js | 155 ++--- .../test/gapic-v1beta2.js | 147 +++-- 36 files changed, 2027 insertions(+), 1195 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.appveyor.yml create mode 100644 packages/google-cloud-videointelligence/.circleci/config.yml create mode 100644 packages/google-cloud-videointelligence/.circleci/key.json.enc create mode 100644 packages/google-cloud-videointelligence/.cloud-repo-tools.json create mode 100644 packages/google-cloud-videointelligence/.eslintignore create mode 100644 packages/google-cloud-videointelligence/.eslintrc.yml create mode 100644 packages/google-cloud-videointelligence/.gitignore create mode 100644 packages/google-cloud-videointelligence/.jsdoc.js create mode 100644 packages/google-cloud-videointelligence/.mailmap create mode 100644 packages/google-cloud-videointelligence/.nycrc create mode 100644 packages/google-cloud-videointelligence/.prettierignore create mode 100644 packages/google-cloud-videointelligence/.prettierrc create mode 100644 packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md create mode 100644 packages/google-cloud-videointelligence/CONTRIBUTORS create mode 100644 packages/google-cloud-videointelligence/LICENSE create mode 100644 packages/google-cloud-videointelligence/samples/.eslintrc.yml rename packages/google-cloud-videointelligence/src/v1beta1/doc/{ => google/cloud/videointelligence/v1beta1}/doc_video_intelligence.js (80%) rename packages/google-cloud-videointelligence/src/v1beta1/doc/{doc_google_protobuf_any.js => google/protobuf/doc_any.js} (79%) rename packages/google-cloud-videointelligence/src/{v1beta2/doc/doc_google_rpc_status.js => v1beta1/doc/google/rpc/doc_status.js} (73%) rename packages/google-cloud-videointelligence/src/v1beta2/doc/{ => google/cloud/videointelligence/v1beta2}/doc_video_intelligence.js (78%) rename packages/google-cloud-videointelligence/src/v1beta2/doc/{doc_google_protobuf_any.js => google/protobuf/doc_any.js} (79%) rename packages/google-cloud-videointelligence/src/v1beta2/doc/{doc_google_protobuf_duration.js => google/protobuf/doc_duration.js} (79%) rename packages/google-cloud-videointelligence/src/{v1beta1/doc/doc_google_rpc_status.js => v1beta2/doc/google/rpc/doc_status.js} (73%) create mode 100644 packages/google-cloud-videointelligence/test/.eslintrc.yml diff --git a/packages/google-cloud-videointelligence/.appveyor.yml b/packages/google-cloud-videointelligence/.appveyor.yml new file mode 100644 index 00000000000..babe1d587f4 --- /dev/null +++ b/packages/google-cloud-videointelligence/.appveyor.yml @@ -0,0 +1,23 @@ +environment: + matrix: + - nodejs_version: 4 + - nodejs_version: 6 + - nodejs_version: 7 + - 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-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml new file mode 100644 index 00000000000..6fbbd4edb02 --- /dev/null +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -0,0 +1,190 @@ +--- +# "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: /.*/ + - lint: + requires: + - node4 + - node6 + - node7 + - node8 + filters: + tags: + only: /.*/ + - docs: + requires: + - node4 + - node6 + - node7 + - node8 + 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: + - 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 + + 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/video-intelligence + 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/video-intelligence + npm install + cd .. + - run: + name: Run sample tests. + command: npm run samples-test + environment: + GCLOUD_PROJECT: long-door-651 + GOOGLE_APPLICATION_CREDENTIALS: /var/video-intelligence/.circleci/key.json + - run: + name: Remove unencrypted key. + command: rm .circleci/key.json + when: always + working_directory: /var/video-intelligence/ + + 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-videointelligence/.circleci/key.json.enc b/packages/google-cloud-videointelligence/.circleci/key.json.enc new file mode 100644 index 0000000000000000000000000000000000000000..16908802f8f1f41bfa73d56917d8683e03808d04 GIT binary patch literal 2384 zcmV-W39t53VQh3|WM5z8Ly9pySSOYsoda#9D)?wVtt=iIq%u#>yoM@T%oe}}%bO)? zh0!=Z{$A+4?e`wuPs$a`npJ6=LHfHJa`61WK;Un(nT^0-jZYsng>6Uffw%NAuuvbD zu#~P$$=ji+RN0<=f!XR9vRj7`9|Wd{mtS))!Os}h*DG&kMGRha-U|JPmV+Fo1A{HV zNW3$VIsBukIU>ln+_jm#iM$x7a@*ky7}&bR;gbpLOP`g6n_CJMsROE|d$cw(C(EAMgE3siVVZSbvfs3kDmtAIS6cA^5U6lO^W6u;jM>1(~{B}w2CPtTo zAqIN8fo9tevD*nRF5Z+~-w$z3Xj0m2SH7%&|8>z{;O2%N#Ex5ygWtF7u@@-q)hgk< zM-vK8kE_V~JyrZ)~qz|SF;TU~NGNB-oLwji;c!nZMw+VwZrn|A z_OBU>=(4MtrbKp{SBy5=&G>8Rntn>f{tA8r~jB(bb zkvM*bZ|D<`)fI1|p_zSZSd4v7F%>vXS7$J-DL;Q|Sy4qIxT3j@vh0#ojRr#ka=>?D zTk15m@arD3TA}lU$|)qJw-5On`C=Q^<%z}4{`bIsSyDEjCc9b`^Rd#8xvob#-L>L*maYv8J~c z0SR=*4;Rxgz2AH#iy;=KcMcl3;WdWNi#HH;Zq{o>bVis%3{}^`F-3}l`obSdE)^T)#XDbzR4RzYowJ=*6A#8~)wZ|%6 z!%1!BD#XRHAooKlk2(9OV3u8nRA31%uf7{b{xTl*2a6ScqnL%_tZPk<{Nj)E&^g7> zV1Id%MBw=3d3kWOP_ z@p-gkRj-huG$NhC33C}Cus-ueU2(Pzx{DneMe$-5YE`L@nE5hc)HAT>T3%CuXNc=l z2e*+v&Fg_V)~_jf_IP}iTgyJKUc021`JZxZkutgIJgb67p+X6%Fm&BOXrV>(ll|ha zyQRO&3c;2Mb_bxsq;L#JRXE*bTYB)+rhMv;yTZbrxj3MG@H9{h;u!BiOhxDn%d5x} zzA^3PHL?pQlLpR=)Fz4M=pNzVy&ouSAMUVYoQdqVl~O6Gt(v$kv);Z4bq5CH^W5{H z_KB*kzq$#ak^9cOqZYSWwJaomVUSo$bVt9NZ_^^KLLe_+Vh>p%ZABXX$gqFc|AgKX zSUM1$PF!InI-&^MBFA3}=!`T9+AdC00L9LYdJ`kHB8imXj&?lCsf0}LL(k!trLu)P- z|BvG^A zWyr6|Lt3IwQ{%elWnO*uBm(gw+n@g1i5z$0^(FMKP$kCEt{Kc;iVq1>BVR4buV)mB znxuU?`7{-cg@ws>Re)#Y#H-%p^)JY`;)IC{zn|)Xpi0-a`;`i1Y|L@?2LGiPm6F&b znBol^jphZ{x`4L+V6c6M?^HF7SM^d}M6J1ws0*_#%mVIP(p!FDEk8#x34$HF)QXpy ze2WQ=t{xq5xLoH}?lmL>i|&ydbq3yC52KC25=>t@qcp2O&Y?zJq`6b4WC%?7c7x$m zHWNQc%Jzu}jB?Y|tZG#&N$y<6wy1dIch%h8%G#xJS1bBfe^u`|c)s#0B~u^KH+01M zaNOZ^?})ouyJS{8l?TnA;Vru${lanLnkrMzUErQ&=CqsX#Qve13ob4Dac6^&zFJDG zZQQ#_8KESG3AcWS<5>`yk5Y{1h(=_3DY8xdSR<@XY#VS}%x^Xp{V2L{~O-QX))m8uhvN z_s6AlwB&7~R$hHX=<-6V5ilVp&}Q_GT%Oxrq@T%Nqg4(#5?3=?E!H7A91UZ4f%~h3 z&+zy}bW5ZD_r!k;GzMUMLdjFei+;F#+hA!woT9BraEodA9MW#n7}B?Q_TC;N`RFk^ zD$m%5I)UBV|2yhH1pL4ur9^z%IUfZ`Z|@2KRn&;^qqS+0t%AHOA}PyHrr*WVBvgQi zAfr~$65+e$x^a1p8{Zg^J>X3ux_OE_xkV%bNNvp6vd4X8BcH@X##Wt@X zyy7_?0NvkbNk86+y^2{>{F$VZziJ>p!v6$|5CnO0qJd+DfC9Ru?=k-!qF=pB2rcU0 zsV(H_W)wSvjmDO6M@*~`v~zF%oMgD0JVoWJ7*4hLB+jb}sv!SxlFdK1JsR;$ni=yt CYqdWB literal 0 HcmV?d00001 diff --git a/packages/google-cloud-videointelligence/.cloud-repo-tools.json b/packages/google-cloud-videointelligence/.cloud-repo-tools.json new file mode 100644 index 00000000000..6e777da18ad --- /dev/null +++ b/packages/google-cloud-videointelligence/.cloud-repo-tools.json @@ -0,0 +1,16 @@ +{ + "requiresKeyFile": true, + "requiresProjectId": true, + "product": "video", + "client_reference_url": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/", + "release_quality": "beta", + "samples": [ + { + "id": "video", + "name": "Video Intelligence", + "file": "analyze.js", + "docs_link": "https://cloud.google.com/video-intelligence/docs", + "usage": "node analyze.js --help" + } + ] +} diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore new file mode 100644 index 00000000000..f6fac98b0a8 --- /dev/null +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -0,0 +1,3 @@ +node_modules/* +samples/node_modules/* +src/**/doc/* diff --git a/packages/google-cloud-videointelligence/.eslintrc.yml b/packages/google-cloud-videointelligence/.eslintrc.yml new file mode 100644 index 00000000000..bed57fbc42c --- /dev/null +++ b/packages/google-cloud-videointelligence/.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-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore new file mode 100644 index 00000000000..6b80718f261 --- /dev/null +++ b/packages/google-cloud-videointelligence/.gitignore @@ -0,0 +1,10 @@ +**/*.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-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js new file mode 100644 index 00000000000..325fa2866d9 --- /dev/null +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', + theme: 'lumen' + } +}; diff --git a/packages/google-cloud-videointelligence/.mailmap b/packages/google-cloud-videointelligence/.mailmap new file mode 100644 index 00000000000..3e8a311c476 --- /dev/null +++ b/packages/google-cloud-videointelligence/.mailmap @@ -0,0 +1,6 @@ +Evawere Ogbe Evawere Ogbe +Gus Class Gus Class +Jason Dobry Jason Dobry +Luke Sneeringer Luke Sneeringer +Stephen Sawchuk Stephen Sawchuk +Stephen Sawchuk Stephen Sawchuk diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc new file mode 100644 index 00000000000..a1a8e6920ce --- /dev/null +++ b/packages/google-cloud-videointelligence/.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-videointelligence/.prettierignore b/packages/google-cloud-videointelligence/.prettierignore new file mode 100644 index 00000000000..f6fac98b0a8 --- /dev/null +++ b/packages/google-cloud-videointelligence/.prettierignore @@ -0,0 +1,3 @@ +node_modules/* +samples/node_modules/* +src/**/doc/* diff --git a/packages/google-cloud-videointelligence/.prettierrc b/packages/google-cloud-videointelligence/.prettierrc new file mode 100644 index 00000000000..df6eac07446 --- /dev/null +++ b/packages/google-cloud-videointelligence/.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-videointelligence/CODE_OF_CONDUCT.md b/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..46b2a08ea6d --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/CONTRIBUTORS b/packages/google-cloud-videointelligence/CONTRIBUTORS new file mode 100644 index 00000000000..fafe7606f07 --- /dev/null +++ b/packages/google-cloud-videointelligence/CONTRIBUTORS @@ -0,0 +1,14 @@ +# The names of individuals who have contributed to this project. +# +# Names are formatted as: +# name +# +Ace Nassri +Ali Ijaz Sheikh +Evawere Ogbe +Gus Class +Jason Dobry +Luke Sneeringer +Song Wang +Stephen Sawchuk +Tim Swast diff --git a/packages/google-cloud-videointelligence/LICENSE b/packages/google-cloud-videointelligence/LICENSE new file mode 100644 index 00000000000..7a4a3ea2424 --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 9d338fcd05f..f861f2363cd 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -1,25 +1,163 @@ -# Node.js Client for Google Cloud Video Intelligence API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) +Google Cloud Platform logo -[Google Cloud Video Intelligence API][Product Documentation]: Google Cloud Video Intelligence API. -- [Client Library Documentation][] -- [Product Documentation][] +# Google Cloud Video Intelligence API: Node.js Client -## 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-video-intelligence.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-video-intelligence) +[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/googleapis/nodejs-video-intelligence?branch=master&svg=true)](https://ci.appveyor.com/project/googleapis/nodejs-video-intelligence) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) -1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project) -2. [Enable the Google Cloud Video Intelligence API.](https://console.cloud.google.com/apis/api/video-intelligence) -3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/master/guides/authentication) +> Node.js idiomatic client for [Video Intelligence API][product-docs]. -### Installation -``` -$ npm install --save @google-cloud/video-intelligence +The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. + +* [Video Intelligence API Node.js Client API Reference][client-docs] +* [Video Intelligence 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 Video Intelligence 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=videointelligence.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started + +### Installing the client library + + npm install --save @google-cloud/video-intelligence + +### Using the client library + +```javascript +// Imports the Google Cloud Video Intelligence library +const Video = require('@google-cloud/video-intelligence'); + +// Instantiates a client +const video = Video(); + +// The GCS filepath of the video to analyze +const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; + +// Construct request +const request = { + inputUri: gcsUri, + features: ['LABEL_DETECTION'], +}; + +// Execute request +video + .annotateVideo(request) + .then(results => { + const operation = results[0]; + console.log( + 'Waiting for operation to complete... (this may take a few minutes)' + ); + return operation.promise(); + }) + .then(results => { + // Gets annotations for video + const annotations = results[0].annotationResults[0]; + + // Gets labels for video from its annotations + const labels = annotations.segmentLabelAnnotations; + labels.forEach(label => { + console.log(`Label ${label.entity.description} occurs at:`); + label.segments.forEach(segment => { + segment = segment.segment; + if (segment.startTimeOffset.seconds === undefined) { + segment.startTimeOffset.seconds = 0; + } + if (segment.startTimeOffset.nanos === undefined) { + segment.startTimeOffset.nanos = 0; + } + if (segment.endTimeOffset.seconds === undefined) { + segment.endTimeOffset.seconds = 0; + } + if (segment.endTimeOffset.nanos === undefined) { + segment.endTimeOffset.nanos = 0; + } + console.log( + `\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + console.log( + `\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + }); + }); + }) + .catch(err => { + console.error('ERROR:', err); + }); ``` -### Next Steps -- Read the [Client Library Documentation][] for Google Cloud Video Intelligence API to see other available methods on the client. -- Read the [Google Cloud Video Intelligence 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-video-intelligence/blob/master/samples) directory. The samples' `README.md` +has instructions for running the samples. + +| Sample | Source Code | +| --------------------------- | --------------------------------- | +| Video Intelligence | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | + +The [Video Intelligence 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](.github/CONTRIBUTING.md). + +## License + +Apache Version 2.0 + +See [LICENSE](LICENSE) -[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/video-intelligence -[Product Documentation]: https://cloud.google.com/video-intelligence \ No newline at end of file +[client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ +[product-docs]: https://cloud.google.com/video-intelligence diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f2ee8a7a520..2fadce5e12c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,9 +1,13 @@ { - "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/video-intelligence", + "description": "Google Cloud Video Intelligence API client for Node.js", "version": "0.3.2", + "license": "Apache-2.0", "author": "Google Inc", - "description": "Google Cloud Video Intelligence API client for Node.js", + "engines": { + "node": ">=4.0.0" + }, + "repository": "googleapis/nodejs-video-intelligence", "main": "src/index.js", "files": [ "protos", @@ -24,21 +28,47 @@ "video intelligence", "Google Cloud Video Intelligence API" ], + "contributors": [ + "Ace Nassri ", + "Ali Ijaz Sheikh ", + "Evawere Ogbe ", + "Gus Class ", + "Jason Dobry ", + "Luke Sneeringer ", + "Song Wang ", + "Stephen Sawchuk ", + "Tim Swast " + ], + "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/ test/", + "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js", + "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", + "test-no-cover": "repo-tools test run --cmd mocha -- test/*.js --no-timeouts", + "test": "repo-tools test run --cmd npm -- run cover" + }, "dependencies": { "extend": "^3.0", "google-gax": "^0.14.2", + "lodash.merge": "^4.6.0", "protobufjs": "^6.8.0" }, "devDependencies": { - "mocha": "^3.2.0" - }, - "scripts": { - "publish-module": "node ../../scripts/publish.js video-intelligence", - "smoke-test": "mocha smoke-test/*.js --timeout 5000", - "test": "mocha test/*.js" - }, - "license": "Apache-2.0", - "engines": { - "node": ">=4.0.0" + "@google-cloud/nodejs-repo-tools": "^2.0.11", + "async": "^2.5.0", + "codecov": "^3.0.0", + "eslint": "^4.9.0", + "eslint-config-prettier": "^2.6.0", + "eslint-plugin-node": "^5.2.1", + "eslint-plugin-prettier": "^2.3.1", + "ink-docstrap": "^1.3.0", + "intelli-espower-loader": "^1.0.1", + "jsdoc": "^3.5.5", + "mocha": "^4.0.1", + "nyc": "^11.2.1", + "power-assert": "^1.4.4", + "prettier": "^1.7.4" } } diff --git a/packages/google-cloud-videointelligence/samples/.eslintrc.yml b/packages/google-cloud-videointelligence/samples/.eslintrc.yml new file mode 100644 index 00000000000..282535f55f6 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/.eslintrc.yml @@ -0,0 +1,3 @@ +--- +rules: + no-console: off diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 05da66feb4f..a78d517bfc8 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -1,39 +1,28 @@ Google Cloud Platform logo -# Google Cloud Video Intelligence API Node.js Samples +# Google Cloud Video Intelligence API: Node.js Samples -[![Build](https://storage.googleapis.com/cloud-docs-samples-badges/GoogleCloudPlatform/nodejs-docs-samples/nodejs-docs-samples-videointelligence.svg)]() +[![Build](https://storage.googleapis.com/.svg)]() The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. ## Table of Contents -* [Setup](#setup) +* [Before you begin](#before-you-begin) * [Samples](#samples) * [Video Intelligence](#video-intelligence) -* [Running the tests](#running-the-tests) -## Setup +## Before you begin -1. Read [Prerequisites][prereq] and [How to run a sample][run] first. -1. Install dependencies: - - With **npm**: - - npm install - - With **yarn**: - - yarn install - -[prereq]: ../README.md#prerequisites -[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 ### Video Intelligence -View the [documentation][video_0_docs] or the [source code][video_0_code]. +View the [source code][video_0_code]. __Usage:__ `node analyze.js --help` @@ -53,7 +42,7 @@ Examples: node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 node analyze.js shots gs://demomaker/sushi.mp4 node analyze.js labels-gcs gs://demomaker/tomatoes.mp4 - node analyze.js labels-file resources/cat.mp4 + node analyze.js labels-file cat.mp4 node analyze.js safe-search gs://demomaker/tomatoes.mp4 For more information, see https://cloud.google.com/video-intelligence/docs @@ -61,17 +50,3 @@ For more information, see https://cloud.google.com/video-intelligence/docs [video_0_docs]: https://cloud.google.com/video-intelligence/docs [video_0_code]: analyze.js - -## Running the tests - -1. Set the **GCLOUD_PROJECT** and **GOOGLE_APPLICATION_CREDENTIALS** environment variables. - -1. Run the tests: - - With **npm**: - - npm test - - With **yarn**: - - yarn test diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e17c092aa4f..60bbdd3124a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -4,41 +4,23 @@ "private": true, "license": "Apache-2.0", "author": "Google Inc.", - "repository": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" - }, + "repository": "googleapis/nodejs-video-intelligence", "engines": { - "node": ">=4.3.2" + "node": ">=4.0.0" }, "scripts": { - "lint": "samples lint", - "pretest": "npm run lint", - "test": "samples test run --cmd ava -- -T 5m --verbose system-test/*.test.js" + "ava": "ava -T 20s --verbose test/*.test.js ./system-test/*.test.js", + "cover": "nyc --reporter=lcov --cache ava -T 20s --verbose test/*.test.js ./system-test/*.test.js && nyc report", + "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/video-intelligence": "^0.3.2", "long": "^3.2.0", "safe-buffer": "5.1.1", - "yargs": "8.0.2" + "yargs": "10.0.3" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.17", - "ava": "0.22.0", - "proxyquire": "1.8.0" - }, - "cloud-repo-tools": { - "requiresKeyFile": true, - "requiresProjectId": true, - "product": "video", - "samples": [ - { - "id": "video", - "name": "Video Intelligence", - "file": "analyze.js", - "docs_link": "https://cloud.google.com/video-intelligence/docs", - "usage": "node analyze.js --help" - } - ] + "@google-cloud/nodejs-repo-tools": "2.0.11", + "ava": "0.22.0" } } diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index bb40eafe9fa..511a62ecc0b 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -17,10 +17,10 @@ // [START videointelligence_quickstart] // Imports the Google Cloud Video Intelligence library -const Video = require('@google-cloud/video-intelligence'); +const videoIntelligence = require('@google-cloud/video-intelligence'); -// Instantiates a client -const video = Video(); +// Creates a client +const client = new videoIntelligence.VideoIntelligenceServiceClient(); // The GCS filepath of the video to analyze const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; @@ -28,25 +28,28 @@ const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; // Construct request const request = { inputUri: gcsUri, - features: ['LABEL_DETECTION'] + features: ['LABEL_DETECTION'], }; // Execute request -video.annotateVideo(request) - .then((results) => { +client + .annotateVideo(request) + .then(results => { const operation = results[0]; - console.log('Waiting for operation to complete... (this may take a few minutes)'); + console.log( + 'Waiting for operation to complete... (this may take a few minutes)' + ); return operation.promise(); }) - .then((results) => { + .then(results => { // Gets annotations for video const annotations = results[0].annotationResults[0]; // Gets labels for video from its annotations const labels = annotations.segmentLabelAnnotations; - labels.forEach((label) => { + labels.forEach(label => { console.log(`Label ${label.entity.description} occurs at:`); - label.segments.forEach((segment) => { + label.segments.forEach(segment => { segment = segment.segment; if (segment.startTimeOffset.seconds === undefined) { segment.startTimeOffset.seconds = 0; @@ -60,14 +63,18 @@ video.annotateVideo(request) if (segment.endTimeOffset.nanos === undefined) { segment.endTimeOffset.nanos = 0; } - console.log(`\tStart: ${segment.startTimeOffset.seconds}` + - `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s`); - console.log(`\tEnd: ${segment.endTimeOffset.seconds}.` + - `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s`); + console.log( + `\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + console.log( + `\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` + ); }); }); }) - .catch((err) => { + .catch(err => { console.error('ERROR:', err); }); // [END videointelligence_quickstart] diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 0e8185d6736..33296f32c7b 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -1,137 +1,100 @@ -/* - * 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 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 video-intelligence - * @name VideoIntelligence +/** + * @namespace google + */ +/** + * @namespace google.protobuf + */ +/** + * @namespace google.rpc + */ +/** + * @namespace google.cloud + */ +/** + * @namespace google.cloud.videointelligence + */ +/** + * @namespace google.cloud.videointelligence.v1beta2 + */ +/** + * @namespace google.cloud.videointelligence.v1beta1 */ 'use strict'; -var extend = require('extend'); -var gapic = { - v1beta1: require('./v1beta1'), +// Import the clients for each version supported by this package. +const gapic = Object.freeze({ v1beta2: require('./v1beta2'), -}; -var gaxGrpc = require('google-gax').grpc(); -var path = require('path'); - -const VERSION = require('../package.json').version; - + v1beta1: require('./v1beta1'), +}); /** - * Create an videoIntelligenceServiceClient with additional helpers for common - * tasks. + * The `@google-cloud/video-intelligence` package has the following named exports: * - * Service that implements Google Cloud Video Intelligence API. + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1beta2.VideoIntelligenceServiceClient} + * - `v1beta2` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1beta2.VideoIntelligenceServiceClient} + * - `v1beta1` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1beta1.VideoIntelligenceServiceClient} * - * @param {object=} options - [Configuration object](#/docs). - * @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 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. - */ -function videoIntelligenceV1beta1(options) { - // Define the header options. - options = extend({}, options, { - libName: 'gccl', - libVersion: VERSION - }); - - // Create the client with the provided options. - var client = gapic.v1beta1(options).videoIntelligenceServiceClient(options); - return client; -} - -var v1beta1Protos = {}; - -extend(v1beta1Protos, gaxGrpc.loadProto( - path.join(__dirname, '..', 'protos'), - 'google/cloud/videointelligence/v1beta1/video_intelligence.proto') - .google.cloud.videointelligence.v1beta1); - - -/** - * Create an videoIntelligenceServiceClient with additional helpers for common - * tasks. + * @module {object} @google-cloud/video-intelligence + * @alias nodejs-video-intelligence + * + * @example Install the client library with npm: + * npm install --save @google-cloud/video-intelligence + * + * @example Import the client library: + * const videoIntelligence = require('@google-cloud/video-intelligence'); * - * Service that implements Google Cloud Video Intelligence API. + * @example Create a client that uses Application Default Credentials (ADC): + * const client = new videoIntelligence.VideoIntelligenceServiceClient(); * - * @param {object=} options - [Configuration object](#/docs). - * @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 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. + * @example Create a client with explicit credentials: + * const client = new videoIntelligence.VideoIntelligenceServiceClient({ + * projectId: 'your-project-id', + * keyFilename: '/path/to/keyfile.json', + * }); */ -function videoIntelligenceV1beta2(options) { - // Define the header options. - options = extend({}, options, { - libName: 'gccl', - libVersion: VERSION - }); - // Create the client with the provided options. - var client = gapic.v1beta2(options).videoIntelligenceServiceClient(options); - return client; -} +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1beta2.VideoIntelligenceServiceClient} + */ +module.exports = gapic.v1beta2; -var v1beta2Protos = {}; +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1beta2.VideoIntelligenceServiceClient} + */ +module.exports.v1beta2 = gapic.v1beta2; -extend(v1beta2Protos, gaxGrpc.loadProto( - path.join(__dirname, '..', 'protos'), - 'google/cloud/videointelligence/v1beta2/video_intelligence.proto') - .google.cloud.videointelligence.v1beta2); +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1beta1.VideoIntelligenceServiceClient} + */ +module.exports.v1beta1 = gapic.v1beta1; -module.exports = videoIntelligenceV1beta2; -module.exports.types = v1beta2Protos; -module.exports.v1beta1 = videoIntelligenceV1beta1; -module.exports.v1beta1.types = v1beta1Protos; -module.exports.v1beta2 = videoIntelligenceV1beta2; -module.exports.v1beta2.types = v1beta2Protos; +// Alias `module.exports` as `module.exports.default`, for future-proofing. +module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js similarity index 80% rename from packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js rename to packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index d20f31cf39e..91410729ccc 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.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 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. /** * Video annotation request. @@ -27,7 +23,7 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * google.rpc.Code.INVALID_ARGUMENT). For more information, see * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; @@ -41,19 +37,19 @@ * @property {number[]} features * Requested video annotation features. * - * The number should be among the values of [Feature]{@link Feature} + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta1.Feature} * * @property {Object} videoContext * Additional video context and/or feature-specific parameters. * - * This object should have the same structure as [VideoContext]{@link VideoContext} + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta1.VideoContext} * * @property {string} outputUri * Optional location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * google.rpc.Code.INVALID_ARGUMENT). For more information, see * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId @@ -61,7 +57,8 @@ * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * - * @class + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var AnnotateVideoRequest = { @@ -76,14 +73,14 @@ var AnnotateVideoRequest = { * to be contiguous or span the whole video. If unspecified, each video * is treated as a single segment. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} * * @property {number} labelDetectionMode * If label detection has been requested, what labels should be detected * in addition to video-level labels or segment-level labels. If unspecified, * defaults to `SHOT_MODE`. * - * The number should be among the values of [LabelDetectionMode]{@link LabelDetectionMode} + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1beta1.LabelDetectionMode} * * @property {boolean} stationaryCamera * Whether the video has been shot from a stationary (i.e. non-moving) camera. @@ -105,7 +102,8 @@ var AnnotateVideoRequest = { * Model to use for safe search detection. * Supported values: "latest" and "stable" (the default). * - * @class + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var VideoContext = { @@ -121,7 +119,8 @@ var VideoContext = { * @property {number} endTimeOffset * End offset in microseconds (inclusive). Unset means 0. * - * @class + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var VideoSegment = { @@ -137,7 +136,7 @@ var VideoSegment = { * Otherwise, corresponds to one of `AnnotateSpec.segments` * (if specified) or to shot boundaries (if requested). * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} * * @property {number} confidence * Confidence that the label is accurate. Range: [0, 1]. @@ -145,9 +144,10 @@ var VideoSegment = { * @property {number} level * Label level. * - * The number should be among the values of [LabelLevel]{@link LabelLevel} + * The number should be among the values of [LabelLevel]{@link google.cloud.videointelligence.v1beta1.LabelLevel} * - * @class + * @typedef LabelLocation + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.LabelLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var LabelLocation = { @@ -166,9 +166,10 @@ var LabelLocation = { * @property {Object[]} locations * Where the label was detected and with what confidence. * - * This object should have the same structure as [LabelLocation]{@link LabelLocation} + * This object should have the same structure as [LabelLocation]{@link google.cloud.videointelligence.v1beta1.LabelLocation} * - * @class + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var LabelAnnotation = { @@ -185,33 +186,34 @@ var LabelAnnotation = { * @property {number} adult * Likelihood of adult content. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} * * @property {number} spoof * Likelihood that an obvious modification was made to the original * 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.videointelligence.v1beta1.Likelihood} * * @property {number} medical * Likelihood of medical content. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} * * @property {number} violent * Likelihood of violent content. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} * * @property {number} racy * Likelihood of racy content. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} * * @property {number} timeOffset * Video time offset in microseconds. * - * @class + * @typedef SafeSearchAnnotation + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var SafeSearchAnnotation = { @@ -233,7 +235,8 @@ var SafeSearchAnnotation = { * @property {number} top * Top Y coordinate. * - * @class + * @typedef BoundingBox + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.BoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var BoundingBox = { @@ -246,12 +249,13 @@ var BoundingBox = { * @property {Object} boundingBox * Bounding box in a frame. * - * This object should have the same structure as [BoundingBox]{@link BoundingBox} + * This object should have the same structure as [BoundingBox]{@link google.cloud.videointelligence.v1beta1.BoundingBox} * * @property {number} timeOffset * Video time offset in microseconds. * - * @class + * @typedef FaceLocation + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.FaceLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var FaceLocation = { @@ -269,14 +273,15 @@ var FaceLocation = { * Faces are detected and tracked on a per-video basis * (as opposed to across multiple videos). * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} * * @property {Object[]} locations * Face locations at one frame per second. * - * This object should have the same structure as [FaceLocation]{@link FaceLocation} + * This object should have the same structure as [FaceLocation]{@link google.cloud.videointelligence.v1beta1.FaceLocation} * - * @class + * @typedef FaceAnnotation + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var FaceAnnotation = { @@ -293,30 +298,31 @@ var FaceAnnotation = { * @property {Object[]} labelAnnotations * Label annotations. There is exactly one element for each unique label. * - * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta1.LabelAnnotation} * * @property {Object[]} faceAnnotations * Face annotations. There is exactly one element for each unique face. * - * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1beta1.FaceAnnotation} * * @property {Object[]} shotAnnotations * Shot annotations. Each shot is represented as a video segment. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} * * @property {Object[]} safeSearchAnnotations * Safe search annotations. * - * This object should have the same structure as [SafeSearchAnnotation]{@link SafeSearchAnnotation} + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. * - * 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 VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var VideoAnnotationResults = { @@ -331,9 +337,10 @@ var VideoAnnotationResults = { * @property {Object[]} annotationResults * Annotation results for all videos specified in `AnnotateVideoRequest`. * - * This object should have the same structure as [VideoAnnotationResults]{@link VideoAnnotationResults} + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults} * - * @class + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var AnnotateVideoResponse = { @@ -354,14 +361,15 @@ var AnnotateVideoResponse = { * @property {Object} startTime * Time when the request was received. * - * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * * @property {Object} updateTime * Time of the most recent update. * - * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * - * @class + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var VideoAnnotationProgress = { @@ -376,9 +384,10 @@ var VideoAnnotationProgress = { * @property {Object[]} annotationProgress * Progress metadata for all videos specified in `AnnotateVideoRequest`. * - * This object should have the same structure as [VideoAnnotationProgress]{@link VideoAnnotationProgress} + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} * - * @class + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ var AnnotateVideoProgress = { @@ -389,6 +398,7 @@ var AnnotateVideoProgress = { * Video annotation feature. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta1 */ var Feature = { @@ -422,6 +432,7 @@ var Feature = { * Label level (scope). * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta1 */ var LabelLevel = { @@ -456,6 +467,7 @@ var LabelLevel = { * Label detection mode. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta1 */ var LabelDetectionMode = { @@ -484,6 +496,7 @@ var LabelDetectionMode = { * Bucketized representation of likelihood. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta1 */ var Likelihood = { diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js similarity index 79% rename from packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js rename to packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index 92cce16fdae..1e99231c144 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_protobuf_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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 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. - */ +// 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 @@ -93,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. @@ -113,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 @@ -127,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-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js similarity index 73% rename from packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js rename to packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js index e2614e9e2f3..d0b375da9f6 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_rpc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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 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. - */ +// 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,7 +27,7 @@ * * 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 @@ -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 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-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js index 15dd940809a..56bc66623a3 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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 videoIntelligenceServiceClient = require('./video_intelligence_service_client'); -var gax = require('google-gax'); -var extend = require('extend'); +// 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. -function v1beta1(options) { - options = extend({ - scopes: v1beta1.ALL_SCOPES - }, options); - var gaxGrpc = gax.grpc(options); - return videoIntelligenceServiceClient(gaxGrpc); -} +'use strict'; -v1beta1.GAPIC_VERSION = '0.0.5'; -v1beta1.SERVICE_ADDRESS = videoIntelligenceServiceClient.SERVICE_ADDRESS; -v1beta1.ALL_SCOPES = videoIntelligenceServiceClient.ALL_SCOPES; +const VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); -module.exports = v1beta1; \ No newline at end of file +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index d404f937988..40fe17b09c5 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -1,299 +1,342 @@ -/* - * 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/videointelligence/v1beta1/video_intelligence.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 configData = require('./video_intelligence_service_client_config'); -var extend = require('extend'); -var gax = require('google-gax'); -var path = require('path'); -var protobuf = require('protobufjs'); +// 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. -var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; +'use strict'; -var DEFAULT_SERVICE_PORT = 443; +const gapicConfig = require('./video_intelligence_service_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); -var CODE_GEN_NAME_VERSION = 'gapic/0.0.5'; - -/** - * 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 implements Google Cloud Video Intelligence API. * - * * @class + * @memberof v1beta1 */ -function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, opts) { - opts = extend({ - servicePath: SERVICE_ADDRESS, - port: DEFAULT_SERVICE_PORT, - clientConfig: {} - }, opts); +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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 = {}; - 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 - ); + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); - this.operationsClient = new gax.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc - }).operationsClient(opts); + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = gax.grpc(opts); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta1/video_intelligence.proto'), - protoFilesRoot); + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; - var annotateVideoResponse = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta1.AnnotateVideoResponse'); - var annotateVideoMetadata = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta1.AnnotateVideoProgress'); + // 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}`); + } - this.longrunningDescriptors = { - annotateVideo: new gax.LongrunningDescriptor( - this.operationsClient, - annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) - }; + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' + ) + ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' + ), + protoFilesRoot + ); - var defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService', - configData, - opts.clientConfig, - {'x-goog-api-client': googleApiClient.join(' ')}); + // 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 self = this; + var annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1beta1.AnnotateVideoResponse' + ); + var annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1beta1.AnnotateVideoProgress' + ); - this.auth = gaxGrpc.auth; - var videoIntelligenceServiceStub = gaxGrpc.createStub( - loadedProtos.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, - opts); - var videoIntelligenceServiceStubMethods = [ - 'annotateVideo' - ]; - videoIntelligenceServiceStubMethods.forEach(function(methodName) { - self['_' + methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then(function(videoIntelligenceServiceStub) { - return function() { - var args = Array.prototype.slice.call(arguments, 0); - return videoIntelligenceServiceStub[methodName].apply(videoIntelligenceServiceStub, args); - }; - }), - defaults[methodName], - self.longrunningDescriptors[methodName]); - }); -} + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); -/** - * Get the project ID used by this class. - * @param {function(Error, string)} callback - the callback to be called with - * the current project Id. - */ -VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { - return this.auth.getProjectId(callback); -}; + // 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 = {}; -// Service calls + // Put together the "service stub" for + // google.cloud.videointelligence.v1beta1.VideoIntelligenceService. + var videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, + opts + ); -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {number[]} request.features - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link Feature} - * @param {string=} request.inputContent - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. - * @param {Object=} request.videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link VideoContext} - * @param {string=} request.outputUri - * Optional location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * @param {string=} request.locationId - * Optional cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @param {Object=} options - * Optional parameters. You 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. - * @return {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 - * - * var videointelligence = require('@google-cloud/videointelligence'); - * - * var client = videointelligence.v1beta1({ - * // optional auth parameters. - * }); - * - * var inputUri = ''; - * var features = []; - * var request = { - * inputUri: inputUri, - * features: features - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(request).then(function(responses) { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }).then(function(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(function(err) { - * console.error(err); - * }); - * - * var inputUri = ''; - * var features = []; - * var request = { - * inputUri: inputUri, - * features: features - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(request).then(function(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', function(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', function(metadata, apiResponse) { - * // doSomethingWith(metadata) - * }) - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', function(err) { - * // throw(err); - * }) - * }) - * .catch(function(err) { - * console.error(err); - * }); - */ -VideoIntelligenceServiceClient.prototype.annotateVideo = function(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (let methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } } - if (options === undefined) { - options = {}; + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'videointelligence.googleapis.com'; } - return this._annotateVideo(request, options, callback); -}; + /** + * The port for this API service. + */ + static get port() { + return 443; + } -function VideoIntelligenceServiceClientBuilder(gaxGrpc) { - if (!(this instanceof VideoIntelligenceServiceClientBuilder)) { - return new VideoIntelligenceServiceClientBuilder(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']; } - var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta1/video_intelligence.proto'); - extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta1); + /** + * 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 VideoIntelligenceServiceClient}. + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {number[]} request.features + * Requested video annotation features. * - * @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 number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta1.Feature} + * @param {string} [request.inputContent] + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta1.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videointelligence = require('@google-cloud/videointelligence'); + * + * var client = new videointelligence.v1beta1.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * var inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(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 inputUri = ''; + * var features = []; + * var request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(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); + * }); */ - this.videoIntelligenceServiceClient = function(opts) { - return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceStubProtos, opts); - }; - extend(this.videoIntelligenceServiceClient, VideoIntelligenceServiceClient); + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } } -module.exports = VideoIntelligenceServiceClientBuilder; -module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js similarity index 78% rename from packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js rename to packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 30077bc21ff..2e416956811 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.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 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. /** * Video annotation request. @@ -27,7 +23,7 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * google.rpc.Code.INVALID_ARGUMENT). For more information, see * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; @@ -41,19 +37,19 @@ * @property {number[]} features * Requested video annotation features. * - * The number should be among the values of [Feature]{@link Feature} + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} * * @property {Object} videoContext * Additional video context and/or feature-specific parameters. * - * This object should have the same structure as [VideoContext]{@link VideoContext} + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} * * @property {string} outputUri * Optional location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * google.rpc.Code.INVALID_ARGUMENT). For more information, see * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId @@ -61,7 +57,8 @@ * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * - * @class + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var AnnotateVideoRequest = { @@ -76,29 +73,30 @@ var AnnotateVideoRequest = { * to be contiguous or span the whole video. If unspecified, each video * is treated as a single segment. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} * * @property {Object} labelDetectionConfig * Config for LABEL_DETECTION. * - * This object should have the same structure as [LabelDetectionConfig]{@link LabelDetectionConfig} + * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig} * * @property {Object} shotChangeDetectionConfig * Config for SHOT_CHANGE_DETECTION. * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link ShotChangeDetectionConfig} + * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} * * @property {Object} explicitContentDetectionConfig * Config for EXPLICIT_CONTENT_DETECTION. * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link ExplicitContentDetectionConfig} + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} * * @property {Object} faceDetectionConfig * Config for FACE_DETECTION. * - * This object should have the same structure as [FaceDetectionConfig]{@link FaceDetectionConfig} + * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig} * - * @class + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var VideoContext = { @@ -113,7 +111,7 @@ var VideoContext = { * video-level labels or segment-level labels. * If unspecified, defaults to `SHOT_MODE`. * - * The number should be among the values of [LabelDetectionMode]{@link LabelDetectionMode} + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1beta2.LabelDetectionMode} * * @property {boolean} stationaryCamera * Whether the video has been shot from a stationary (i.e. non-moving) camera. @@ -125,7 +123,8 @@ var VideoContext = { * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * - * @class + * @typedef LabelDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var LabelDetectionConfig = { @@ -140,7 +139,8 @@ var LabelDetectionConfig = { * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * - * @class + * @typedef ShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var ShotChangeDetectionConfig = { @@ -155,7 +155,8 @@ var ShotChangeDetectionConfig = { * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * - * @class + * @typedef ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var ExplicitContentDetectionConfig = { @@ -173,7 +174,8 @@ var ExplicitContentDetectionConfig = { * @property {boolean} includeBoundingBoxes * Whether bounding boxes be included in the face annotation output. * - * @class + * @typedef FaceDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var FaceDetectionConfig = { @@ -187,15 +189,16 @@ var FaceDetectionConfig = { * Time-offset, relative to the beginning of the video, * corresponding to the start of the segment (inclusive). * - * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} * * @property {Object} endTimeOffset * Time-offset, relative to the beginning of the video, * corresponding to the end of the segment (inclusive). * - * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} * - * @class + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var VideoSegment = { @@ -208,12 +211,13 @@ var VideoSegment = { * @property {Object} segment * Video segment where a label was detected. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} * * @property {number} confidence * Confidence that the label is accurate. Range: [0, 1]. * - * @class + * @typedef LabelSegment + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var LabelSegment = { @@ -227,12 +231,13 @@ var LabelSegment = { * Time-offset, relative to the beginning of the video, corresponding to the * video frame for this location. * - * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} * * @property {number} confidence * Confidence that the label is accurate. Range: [0, 1]. * - * @class + * @typedef LabelFrame + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var LabelFrame = { @@ -253,7 +258,8 @@ var LabelFrame = { * @property {string} languageCode * Language code for `description` in BCP-47 format. * - * @class + * @typedef Entity + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var Entity = { @@ -266,7 +272,7 @@ var Entity = { * @property {Object} entity * Detected entity. * - * This object should have the same structure as [Entity]{@link Entity} + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1beta2.Entity} * * @property {Object[]} categoryEntities * Common categories for the detected entity. @@ -274,19 +280,20 @@ var Entity = { * cases there might be more than one categories e.g. `Terrier` could also be * a `pet`. * - * This object should have the same structure as [Entity]{@link Entity} + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1beta2.Entity} * * @property {Object[]} segments * All video segments where a label was detected. * - * This object should have the same structure as [LabelSegment]{@link LabelSegment} + * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1beta2.LabelSegment} * * @property {Object[]} frames * All video frames where a label was detected. * - * This object should have the same structure as [LabelFrame]{@link LabelFrame} + * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1beta2.LabelFrame} * - * @class + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var LabelAnnotation = { @@ -300,14 +307,15 @@ var LabelAnnotation = { * Time-offset, relative to the beginning of the video, corresponding to the * video frame for this location. * - * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} * * @property {number} pornographyLikelihood * Likelihood of the pornography content.. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta2.Likelihood} * - * @class + * @typedef ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var ExplicitContentFrame = { @@ -322,9 +330,10 @@ var ExplicitContentFrame = { * @property {Object[]} frames * All video frames where explicit content was detected. * - * This object should have the same structure as [ExplicitContentFrame]{@link ExplicitContentFrame} + * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame} * - * @class + * @typedef ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var ExplicitContentAnnotation = { @@ -348,7 +357,8 @@ var ExplicitContentAnnotation = { * @property {number} bottom * Bottom Y coordinate. * - * @class + * @typedef NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var NormalizedBoundingBox = { @@ -361,9 +371,10 @@ var NormalizedBoundingBox = { * @property {Object} segment * Video segment where a face was detected. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} * - * @class + * @typedef FaceSegment + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var FaceSegment = { @@ -378,15 +389,16 @@ var FaceSegment = { * There can be more than one boxes if the same face is detected in multiple * locations within the current frame. * - * This object should have the same structure as [NormalizedBoundingBox]{@link NormalizedBoundingBox} + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} * * @property {Object} timeOffset * Time-offset, relative to the beginning of the video, * corresponding to the video frame for this location. * - * This object should have the same structure as [google.protobuf.Duration]{@link external:"google.protobuf.Duration"} + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} * - * @class + * @typedef FaceFrame + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var FaceFrame = { @@ -402,14 +414,15 @@ var FaceFrame = { * @property {Object[]} segments * All video segments where a face was detected. * - * This object should have the same structure as [FaceSegment]{@link FaceSegment} + * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1beta2.FaceSegment} * * @property {Object[]} frames * All video frames where a face was detected. * - * This object should have the same structure as [FaceFrame]{@link FaceFrame} + * This object should have the same structure as [FaceFrame]{@link google.cloud.videointelligence.v1beta2.FaceFrame} * - * @class + * @typedef FaceAnnotation + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var FaceAnnotation = { @@ -427,42 +440,43 @@ var FaceAnnotation = { * Label annotations on video level or user specified segment level. * There is exactly one element for each unique label. * - * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} * * @property {Object[]} shotLabelAnnotations * Label annotations on shot level. * There is exactly one element for each unique label. * - * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} * * @property {Object[]} frameLabelAnnotations * Label annotations on frame level. * There is exactly one element for each unique label. * - * This object should have the same structure as [LabelAnnotation]{@link LabelAnnotation} + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} * * @property {Object[]} faceAnnotations * Face annotations. There is exactly one element for each unique face. * - * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1beta2.FaceAnnotation} * * @property {Object[]} shotAnnotations * Shot annotations. Each shot is represented as a video segment. * - * This object should have the same structure as [VideoSegment]{@link VideoSegment} + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} * * @property {Object} explicitAnnotation * Explicit content annotation. * - * This object should have the same structure as [ExplicitContentAnnotation]{@link ExplicitContentAnnotation} + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. * - * 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 VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var VideoAnnotationResults = { @@ -477,9 +491,10 @@ var VideoAnnotationResults = { * @property {Object[]} annotationResults * Annotation results for all videos specified in `AnnotateVideoRequest`. * - * This object should have the same structure as [VideoAnnotationResults]{@link VideoAnnotationResults} + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults} * - * @class + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var AnnotateVideoResponse = { @@ -500,14 +515,15 @@ var AnnotateVideoResponse = { * @property {Object} startTime * Time when the request was received. * - * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * * @property {Object} updateTime * Time of the most recent update. * - * This object should have the same structure as [google.protobuf.Timestamp]{@link external:"google.protobuf.Timestamp"} + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * - * @class + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var VideoAnnotationProgress = { @@ -522,9 +538,10 @@ var VideoAnnotationProgress = { * @property {Object[]} annotationProgress * Progress metadata for all videos specified in `AnnotateVideoRequest`. * - * This object should have the same structure as [VideoAnnotationProgress]{@link VideoAnnotationProgress} + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} * - * @class + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ var AnnotateVideoProgress = { @@ -535,6 +552,7 @@ var AnnotateVideoProgress = { * Video annotation feature. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta2 */ var Feature = { @@ -568,6 +586,7 @@ var Feature = { * Label detection mode. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta2 */ var LabelDetectionMode = { @@ -596,6 +615,7 @@ var LabelDetectionMode = { * Bucketized representation of likelihood. * * @enum {number} + * @memberof google.cloud.videointelligence.v1beta2 */ var Likelihood = { diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js similarity index 79% rename from packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js rename to packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index 92cce16fdae..1e99231c144 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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 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. - */ +// 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 @@ -93,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. @@ -113,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 @@ -127,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-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js similarity index 79% rename from packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js rename to packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js index d4c9bfee517..6b107097540 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/doc_google_protobuf_duration.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.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 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. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * A Duration represents a signed, fixed-length span of time represented @@ -79,7 +75,6 @@ * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 * microsecond should be expressed in JSON format as "3.000001s". * - * @external "google.protobuf.Duration" * @property {number} seconds * Signed seconds of the span of time. Must be from -315,576,000,000 * to +315,576,000,000 inclusive. Note: these bounds are computed from: @@ -93,5 +88,10 @@ * of the same sign as the `seconds` field. Must be from -999,999,999 * to +999,999,999 inclusive. * + * @typedef Duration + * @memberof google.protobuf * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ \ No newline at end of file + */ +var Duration = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js similarity index 73% rename from packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js rename to packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index e2614e9e2f3..d0b375da9f6 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/doc_google_rpc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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 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. - */ +// 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,7 +27,7 @@ * * 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 @@ -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 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-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.js index 64f694bddd1..56bc66623a3 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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 videoIntelligenceServiceClient = require('./video_intelligence_service_client'); -var gax = require('google-gax'); -var extend = require('extend'); +// 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. -function v1beta2(options) { - options = extend({ - scopes: v1beta2.ALL_SCOPES - }, options); - var gaxGrpc = gax.grpc(options); - return videoIntelligenceServiceClient(gaxGrpc); -} +'use strict'; -v1beta2.GAPIC_VERSION = '0.0.5'; -v1beta2.SERVICE_ADDRESS = videoIntelligenceServiceClient.SERVICE_ADDRESS; -v1beta2.ALL_SCOPES = videoIntelligenceServiceClient.ALL_SCOPES; +const VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); -module.exports = v1beta2; \ No newline at end of file +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index fecd7239eb4..8f883d670e5 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -1,289 +1,332 @@ -/* - * 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/videointelligence/v1beta2/video_intelligence.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 configData = require('./video_intelligence_service_client_config'); -var extend = require('extend'); -var gax = require('google-gax'); -var path = require('path'); -var protobuf = require('protobufjs'); +// 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. -var SERVICE_ADDRESS = 'videointelligence.googleapis.com'; - -var DEFAULT_SERVICE_PORT = 443; +'use strict'; -var CODE_GEN_NAME_VERSION = 'gapic/0.0.5'; +const gapicConfig = require('./video_intelligence_service_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); -/** - * 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 implements Google Cloud Video Intelligence API. * - * * @class + * @memberof v1beta2 */ -function VideoIntelligenceServiceClient(gaxGrpc, loadedProtos, opts) { - opts = extend({ - servicePath: SERVICE_ADDRESS, - port: DEFAULT_SERVICE_PORT, - clientConfig: {} - }, opts); +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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 = {}; - 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 - ); + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); - this.operationsClient = new gax.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc - }).operationsClient(opts); + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = gax.grpc(opts); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join(__dirname, '..', '..', 'protos', 'google/cloud/videointelligence/v1beta2/video_intelligence.proto'), - protoFilesRoot); + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; - var annotateVideoResponse = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta2.AnnotateVideoResponse'); - var annotateVideoMetadata = protoFilesRoot.lookup('google.cloud.videointelligence.v1beta2.AnnotateVideoProgress'); + // 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}`); + } - this.longrunningDescriptors = { - annotateVideo: new gax.LongrunningDescriptor( - this.operationsClient, - annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) - }; + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/videointelligence/v1beta2/video_intelligence.proto' + ) + ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1beta2/video_intelligence.proto' + ), + protoFilesRoot + ); - var defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', - configData, - opts.clientConfig, - {'x-goog-api-client': googleApiClient.join(' ')}); + // 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 self = this; + var annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' + ); + var annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' + ); - this.auth = gaxGrpc.auth; - var videoIntelligenceServiceStub = gaxGrpc.createStub( - loadedProtos.google.cloud.videointelligence.v1beta2.VideoIntelligenceService, - opts); - var videoIntelligenceServiceStubMethods = [ - 'annotateVideo' - ]; - videoIntelligenceServiceStubMethods.forEach(function(methodName) { - self['_' + methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then(function(videoIntelligenceServiceStub) { - return function() { - var args = Array.prototype.slice.call(arguments, 0); - return videoIntelligenceServiceStub[methodName].apply(videoIntelligenceServiceStub, args); - }; - }), - defaults[methodName], - self.longrunningDescriptors[methodName]); - }); -} + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); -/** - * Get the project ID used by this class. - * @param {function(Error, string)} callback - the callback to be called with - * the current project Id. - */ -VideoIntelligenceServiceClient.prototype.getProjectId = function(callback) { - return this.auth.getProjectId(callback); -}; + // 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 = {}; -// Service calls + // Put together the "service stub" for + // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. + var videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1beta2.VideoIntelligenceService, + opts + ); -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string=} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string=} request.inputContent - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. - * @param {number[]=} request.features - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link Feature} - * @param {Object=} request.videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link VideoContext} - * @param {string=} request.outputUri - * Optional location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * @param {string=} request.locationId - * Optional cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @param {Object=} options - * Optional parameters. You 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. - * @return {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 - * - * var videoIntelligence = require('@google-cloud/video-intelligence'); - * - * var client = videoIntelligence.v1beta2({ - * // optional auth parameters. - * }); - * - * - * - * // Handle the operation using the promise pattern. - * client.annotateVideo({}).then(function(responses) { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }).then(function(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(function(err) { - * console.error(err); - * }); - * - * - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo({}).then(function(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', function(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', function(metadata, apiResponse) { - * // doSomethingWith(metadata) - * }) - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', function(err) { - * // throw(err); - * }) - * }) - * .catch(function(err) { - * console.error(err); - * }); - */ -VideoIntelligenceServiceClient.prototype.annotateVideo = function(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (let methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } } - if (options === undefined) { - options = {}; + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'videointelligence.googleapis.com'; } - return this._annotateVideo(request, options, callback); -}; + /** + * The port for this API service. + */ + static get port() { + return 443; + } -function VideoIntelligenceServiceClientBuilder(gaxGrpc) { - if (!(this instanceof VideoIntelligenceServiceClientBuilder)) { - return new VideoIntelligenceServiceClientBuilder(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']; } - var videoIntelligenceServiceStubProtos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta2/video_intelligence.proto'); - extend(this, videoIntelligenceServiceStubProtos.google.cloud.videointelligence.v1beta2); + /** + * 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 VideoIntelligenceServiceClient}. + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} [request.inputUri] + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {string} [request.inputContent] + * The video data bytes. Encoding: base64. If unset, the input video(s) + * should be specified via `input_uri`. If set, `input_uri` should be unset. + * @param {number[]} [request.features] + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. * - * @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. + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videoIntelligence = require('@google-cloud/video-intelligence'); + * + * var client = new videoIntelligence.v1beta2.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * + * + * // Handle the operation using the promise pattern. + * client.annotateVideo({}) + * .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); + * }); + * + * + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo({}) + * .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); + * }); */ - this.videoIntelligenceServiceClient = function(opts) { - return new VideoIntelligenceServiceClient(gaxGrpc, videoIntelligenceServiceStubProtos, opts); - }; - extend(this.videoIntelligenceServiceClient, VideoIntelligenceServiceClient); + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } } -module.exports = VideoIntelligenceServiceClientBuilder; -module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/test/.eslintrc.yml b/packages/google-cloud-videointelligence/test/.eslintrc.yml new file mode 100644 index 00000000000..73f7bbc946f --- /dev/null +++ b/packages/google-cloud-videointelligence/test/.eslintrc.yml @@ -0,0 +1,5 @@ +--- +env: + mocha: true +rules: + node/no-unpublished-require: off diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index 2363e93191e..b0316abf1fe 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -1,118 +1,137 @@ -/* - * 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 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 videointelligence = require('../src'); +const assert = require('assert'); + +const videointelligenceModule = require('../src'); var FAKE_STATUS_CODE = 1; var error = new Error(); error.code = FAKE_STATUS_CODE; -describe('VideoIntelligenceServiceClient', function() { +describe('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { - it('invokes annotateVideo without error', function(done) { - var client = videointelligence.v1beta1(); + it('invokes annotateVideo without error', done => { + var client = new videointelligenceModule.v1beta1 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var inputUri = 'inputUri1707300727'; var features = []; var request = { - inputUri : inputUri, - features : features + inputUri: inputUri, + features: features, }; // Mock response var expectedResponse = {}; // Mock Grpc layer - client._annotateVideo = mockLongRunningGrpcMethod(request, expectedResponse); + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); - client.annotateVideo(request).then(function(responses) { - var operation = responses[0]; - return operation.promise(); - }).then(function(responses) { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }).catch(function(err) { - done(err); - }); + client + .annotateVideo(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); }); - it('invokes annotateVideo with error', function(done) { - var client = videointelligence.v1beta1(); + it('invokes annotateVideo with error', done => { + var client = new videointelligenceModule.v1beta1 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var inputUri = 'inputUri1707300727'; var features = []; var request = { - inputUri : inputUri, - features : features + inputUri: inputUri, + features: features, }; // Mock Grpc layer - client._annotateVideo = mockLongRunningGrpcMethod(request, null, error); + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); - client.annotateVideo(request).then(function(responses) { - var operation = responses[0]; - return operation.promise(); - }).then(function(responses) { - assert.fail(); - }).catch(function(err) { - assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); - done(); - }); + client + .annotateVideo(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', function() { - var client = videointelligence.v1beta1(); - assert(client.longrunningDescriptors.annotateVideo.responseDecoder instanceof Function); - assert(client.longrunningDescriptors.annotateVideo.metadataDecoder instanceof Function); + it('has longrunning decoder functions', () => { + var client = new videointelligenceModule.v1beta1 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.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 function(request) { + return request => { assert.deepStrictEqual(request, expectedRequest); var mockOperation = { promise: function() { - return new Promise(function(resolve, reject) { + return new Promise((resolve, reject) => { if (error) { reject(error); } else { resolve([response]); } }); - } + }, }; return Promise.resolve([mockOperation]); }; diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 07e7c5d25ce..0bd4b429141 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -1,31 +1,35 @@ -/* - * 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 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 videoIntelligence = require('../src'); +const assert = require('assert'); + +const videoIntelligenceModule = require('../src'); var FAKE_STATUS_CODE = 1; var error = new Error(); error.code = FAKE_STATUS_CODE; -describe('VideoIntelligenceServiceClient', function() { +describe('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { - it('invokes annotateVideo without error', function(done) { - var client = videoIntelligence.v1beta2(); + it('invokes annotateVideo without error', done => { + var client = new videoIntelligenceModule.v1beta2 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var request = {}; @@ -34,75 +38,90 @@ describe('VideoIntelligenceServiceClient', function() { var expectedResponse = {}; // Mock Grpc layer - client._annotateVideo = mockLongRunningGrpcMethod(request, expectedResponse); + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); - client.annotateVideo(request).then(function(responses) { - var operation = responses[0]; - return operation.promise(); - }).then(function(responses) { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }).catch(function(err) { - done(err); - }); + client + .annotateVideo(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); }); - it('invokes annotateVideo with error', function(done) { - var client = videoIntelligence.v1beta2(); + it('invokes annotateVideo with error', done => { + var client = new videoIntelligenceModule.v1beta2 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var request = {}; // Mock Grpc layer - client._annotateVideo = mockLongRunningGrpcMethod(request, null, error); + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); - client.annotateVideo(request).then(function(responses) { - var operation = responses[0]; - return operation.promise(); - }).then(function(responses) { - assert.fail(); - }).catch(function(err) { - assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); - done(); - }); + client + .annotateVideo(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', function() { - var client = videoIntelligence.v1beta2(); - assert(client.longrunningDescriptors.annotateVideo.responseDecoder instanceof Function); - assert(client.longrunningDescriptors.annotateVideo.metadataDecoder instanceof Function); + it('has longrunning decoder functions', () => { + var client = new videoIntelligenceModule.v1beta2 + .VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.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 function(request) { + return request => { assert.deepStrictEqual(request, expectedRequest); var mockOperation = { promise: function() { - return new Promise(function(resolve, reject) { + return new Promise((resolve, reject) => { if (error) { reject(error); } else { resolve([response]); } }); - } + }, }; return Promise.resolve([mockOperation]); }; From ee3106c8d4da33a365705e97a59feea7089e4110 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 24 Oct 2017 12:36:16 -0700 Subject: [PATCH 032/418] Bump version to v0.4.0 (#5) --- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2fadce5e12c..2e6ddc1f7e8 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "0.3.2", + "version": "0.4.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 60bbdd3124a..7c130ad61a4 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^0.3.2", + "@google-cloud/video-intelligence": "^0.4.0", "long": "^3.2.0", "safe-buffer": "5.1.1", "yargs": "10.0.3" From 9ed142e0bac57ecf3dea6d16e60110fd53dfbf84 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Tue, 24 Oct 2017 12:54:08 -0700 Subject: [PATCH 033/418] Add missing example in docs. (#6) --- packages/google-cloud-videointelligence/src/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 33296f32c7b..c0e1656b972 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -73,6 +73,10 @@ const gapic = Object.freeze({ * projectId: 'your-project-id', * keyFilename: '/path/to/keyfile.json', * }); + * + * @example include:samples/quickstart.js + * region_tag:videointelligence_quickstart + * Full quickstart example: */ /** From 0365132938f86e5cba1981b29af2d8109b58ac05 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 24 Oct 2017 13:12:46 -0700 Subject: [PATCH 034/418] Remove reference to system tests. (#7) --- .../google-cloud-videointelligence/.circleci/config.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 6fbbd4edb02..be1bc3c6419 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -53,15 +53,6 @@ workflows: filters: tags: only: /.*/ - - system_tests: - requires: - - lint - - docs - filters: - branches: - only: master - tags: - only: /^v[\d.]+$/ - sample_tests: requires: - lint From 295d1a86e5a9cd7c38ecee501c76d1db01509f74 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 30 Oct 2017 06:18:36 -0700 Subject: [PATCH 035/418] Upgrade repo-tools and regenerate scaffolding. (#8) --- .../google-cloud-videointelligence/README.md | 27 ++++++++++--------- .../package.json | 2 +- .../samples/README.md | 26 ++++++++++++------ .../samples/package.json | 4 +-- .../samples/quickstart.js | 2 +- .../system-test/.eslintrc.yml | 6 +++++ 6 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 packages/google-cloud-videointelligence/system-test/.eslintrc.yml diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index f861f2363cd..9d4c791a0a4 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -1,6 +1,6 @@ Google Cloud Platform logo -# Google Cloud Video Intelligence API: Node.js Client +# [Google Cloud Video Intelligence API: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) [![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-video-intelligence.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-video-intelligence) @@ -11,7 +11,9 @@ The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. + * [Video Intelligence API Node.js Client API Reference][client-docs] +* [github.com/googleapis/nodejs-video-intelligence](https://github.com/googleapis/nodejs-video-intelligence) * [Video Intelligence API Documentation][product-docs] Read more about the client libraries for Cloud APIs, including the older @@ -62,12 +64,12 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. ```javascript // Imports the Google Cloud Video Intelligence library -const Video = require('@google-cloud/video-intelligence'); +const videoIntelligence = require('@google-cloud/video-intelligence'); -// Instantiates a client -const video = Video(); +// Creates a client +const client = new videoIntelligence.VideoIntelligenceServiceClient(); -// The GCS filepath of the video to analyze +// The GCS uri of the video to analyze const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; // Construct request @@ -77,7 +79,7 @@ const request = { }; // Execute request -video +client .annotateVideo(request) .then(results => { const operation = results[0]; @@ -126,12 +128,12 @@ video ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples) directory. The samples' `README.md` +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/tree/master/samples) directory. The samples' `README.md` has instructions for running the samples. -| Sample | Source Code | -| --------------------------- | --------------------------------- | -| Video Intelligence | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | +| Sample | Source Code | Try it | +| --------------------------- | --------------------------------- | ------ | +| Video Intelligence | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | The [Video Intelligence API Node.js Client API Reference][client-docs] documentation also contains samples. @@ -151,13 +153,14 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](.github/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/blob/master/.github/CONTRIBUTING.md). ## License Apache Version 2.0 -See [LICENSE](LICENSE) +See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ [product-docs]: https://cloud.google.com/video-intelligence +[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2e6ddc1f7e8..294ff48427d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,7 @@ "protobufjs": "^6.8.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.0.11", + "@google-cloud/nodejs-repo-tools": "^2.1.0", "async": "^2.5.0", "codecov": "^3.0.0", "eslint": "^4.9.0", diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index a78d517bfc8..70e8d3d570b 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -2,7 +2,7 @@ # Google Cloud Video Intelligence API: Node.js Samples -[![Build](https://storage.googleapis.com/.svg)]() +[![Open in Cloud Shell][shell_img]][shell_link] The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. @@ -24,19 +24,26 @@ library's README. View the [source code][video_0_code]. +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) + __Usage:__ `node analyze.js --help` ``` +analyze.js + Commands: - faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. - shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. - labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. - safe-search Detects explicit content in a video stored in Google Cloud Storage. + analyze.js faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + analyze.js shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + analyze.js labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + analyze.js labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. + analyze.js safe-search Detects explicit content in a video stored in Google Cloud Storage. Options: - --help Show help [boolean] + --version Show version number [boolean] + --help Show help [boolean] Examples: node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 @@ -50,3 +57,6 @@ For more information, see https://cloud.google.com/video-intelligence/docs [video_0_docs]: https://cloud.google.com/video-intelligence/docs [video_0_code]: analyze.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-video-intelligence&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 7c130ad61a4..78f0cead59a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -20,7 +20,7 @@ "yargs": "10.0.3" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.0.11", - "ava": "0.22.0" + "@google-cloud/nodejs-repo-tools": "2.1.0", + "ava": "0.23.0" } } diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 511a62ecc0b..a2297806e6c 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -22,7 +22,7 @@ const videoIntelligence = require('@google-cloud/video-intelligence'); // Creates a client const client = new videoIntelligence.VideoIntelligenceServiceClient(); -// The GCS filepath of the video to analyze +// The GCS uri of the video to analyze const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; // Construct request diff --git a/packages/google-cloud-videointelligence/system-test/.eslintrc.yml b/packages/google-cloud-videointelligence/system-test/.eslintrc.yml new file mode 100644 index 00000000000..2e6882e46d2 --- /dev/null +++ b/packages/google-cloud-videointelligence/system-test/.eslintrc.yml @@ -0,0 +1,6 @@ +--- +env: + mocha: true +rules: + node/no-unpublished-require: off + no-console: off From 723166a8a3a12b2cff4556c3bc18c2dc0edcc372 Mon Sep 17 00:00:00 2001 From: Stephen Date: Tue, 7 Nov 2017 11:01:04 -0500 Subject: [PATCH 036/418] Prettify. (#11) --- .../test/gapic-v1beta1.js | 33 ++++++++++--------- .../test/gapic-v1beta2.js | 33 ++++++++++--------- 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index b0316abf1fe..e2513e994d3 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -25,11 +25,12 @@ error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videointelligenceModule.v1beta1 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); // Mock request var inputUri = 'inputUri1707300727'; @@ -64,11 +65,12 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videointelligenceModule.v1beta1 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); // Mock request var inputUri = 'inputUri1707300727'; @@ -102,11 +104,12 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videointelligenceModule.v1beta1 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert( client._descriptors.longrunning.annotateVideo.responseDecoder instanceof Function diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 0bd4b429141..8db670552e1 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -25,11 +25,12 @@ error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videoIntelligenceModule.v1beta2 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); // Mock request var request = {}; @@ -59,11 +60,12 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videoIntelligenceModule.v1beta2 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); // Mock request var request = {}; @@ -92,11 +94,12 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videoIntelligenceModule.v1beta2 - .VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); + var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert( client._descriptors.longrunning.annotateVideo.responseDecoder instanceof Function From a259da71b4741022f579099f4580ff560d67c4b0 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Wed, 8 Nov 2017 08:05:37 -0800 Subject: [PATCH 037/418] Test on Node 9. (#13) --- packages/google-cloud-videointelligence/.appveyor.yml | 3 --- .../.circleci/config.yml | 10 ++++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/.appveyor.yml b/packages/google-cloud-videointelligence/.appveyor.yml index babe1d587f4..24082152655 100644 --- a/packages/google-cloud-videointelligence/.appveyor.yml +++ b/packages/google-cloud-videointelligence/.appveyor.yml @@ -1,8 +1,5 @@ environment: matrix: - - nodejs_version: 4 - - nodejs_version: 6 - - nodejs_version: 7 - nodejs_version: 8 install: diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index be1bc3c6419..32f8b56b323 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -35,12 +35,17 @@ workflows: filters: tags: only: /.*/ + - node9: + filters: + tags: + only: /.*/ - lint: requires: - node4 - node6 - node7 - node8 + - node9 filters: tags: only: /.*/ @@ -50,6 +55,7 @@ workflows: - node6 - node7 - node8 + - node9 filters: tags: only: /.*/ @@ -99,6 +105,10 @@ jobs: docker: - image: node:8 <<: *unit_tests + node9: + docker: + - image: node:9 + <<: *unit_tests lint: docker: From 5d53be2268a60e872b18c2fdd5422c5904a6cde4 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 14 Nov 2017 11:58:25 -0800 Subject: [PATCH 038/418] Add the v1 (stable) endpoint. (#9) --- .../.cloud-repo-tools.json | 2 +- .../google-cloud-videointelligence/README.md | 11 +- .../package.json | 6 +- .../v1/video_intelligence.proto | 391 +++++++++++ .../samples/README.md | 19 +- .../samples/package.json | 2 +- .../src/index.js | 27 +- .../v1/doc_video_intelligence.js | 652 ++++++++++++++++++ .../src/v1/doc/google/protobuf/doc_any.js | 131 ++++ .../v1/doc/google/protobuf/doc_duration.js | 97 +++ .../src/v1/doc/google/rpc/doc_status.js | 92 +++ .../src/v1/index.js | 19 + .../v1/video_intelligence_service_client.js | 333 +++++++++ ...eo_intelligence_service_client_config.json | 31 + .../test/gapic-v1.js | 131 ++++ 15 files changed, 1919 insertions(+), 25 deletions(-) create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js create mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js create mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1.js diff --git a/packages/google-cloud-videointelligence/.cloud-repo-tools.json b/packages/google-cloud-videointelligence/.cloud-repo-tools.json index 6e777da18ad..3ee01e26f85 100644 --- a/packages/google-cloud-videointelligence/.cloud-repo-tools.json +++ b/packages/google-cloud-videointelligence/.cloud-repo-tools.json @@ -3,7 +3,7 @@ "requiresProjectId": true, "product": "video", "client_reference_url": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/", - "release_quality": "beta", + "release_quality": "ga", "samples": [ { "id": "video", diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 9d4c791a0a4..c4f76bd1025 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -2,7 +2,7 @@ # [Google Cloud Video Intelligence API: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) -[![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) [![CircleCI](https://img.shields.io/circleci/project/github/googleapis/nodejs-video-intelligence.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-video-intelligence) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/googleapis/nodejs-video-intelligence?branch=master&svg=true)](https://ci.appveyor.com/project/googleapis/nodejs-video-intelligence) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) @@ -142,10 +142,11 @@ also contains samples. 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. +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. More Information: [Google Cloud Platform Launch Stages][launch_stages] diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 294ff48427d..b7b05b2d91e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "0.4.0", + "version": "1.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -56,7 +56,7 @@ "protobufjs": "^6.8.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.1.0", + "@google-cloud/nodejs-repo-tools": "^2.1.1", "async": "^2.5.0", "codecov": "^3.0.0", "eslint": "^4.9.0", @@ -69,6 +69,6 @@ "mocha": "^4.0.1", "nyc": "^11.2.1", "power-assert": "^1.4.4", - "prettier": "^1.7.4" + "prettier": "^1.8.1" } } diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto new file mode 100644 index 00000000000..bef5f692a5b --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -0,0 +1,391 @@ +// 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.videointelligence.v1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { post: "/v1/videos:annotate" body: "*" }; + } +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. + // If unset, the input video(s) should be specified via `input_uri`. + // If set, `input_uri` should be unset. + bytes input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video + // is treated as a single segment. + repeated VideoSegment segments = 1; + + // Config for LABEL_DETECTION. + LabelDetectionConfig label_detection_config = 2; + + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig shot_change_detection_config = 3; + + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig explicit_content_detection_config = 4; + + // Config for FACE_DETECTION. + FaceDetectionConfig face_detection_config = 5; +} + +// Config for LABEL_DETECTION. +message LabelDetectionConfig { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 1; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + bool stationary_camera = 2; + + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// Config for SHOT_CHANGE_DETECTION. +message ShotChangeDetectionConfig { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for FACE_DETECTION. +message FaceDetectionConfig { + // Model to use for face detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; + + // Whether bounding boxes be included in the face annotation output. + bool include_bounding_boxes = 2; +} + +// Video segment. +message VideoSegment { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + google.protobuf.Duration start_time_offset = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + google.protobuf.Duration end_time_offset = 2; +} + +// Video segment level annotation results for label detection. +message LabelSegment { + // Video segment where a label was detected. + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Video frame level annotation results for label detection. +message LabelFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Detected entity from video analysis. +message Entity { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string entity_id = 1; + + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 2; + + // Language code for `description` in BCP-47 format. + string language_code = 3; +} + +// Label annotation. +message LabelAnnotation { + // Detected entity. + Entity entity = 1; + + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + repeated Entity category_entities = 2; + + // All video segments where a label was detected. + repeated LabelSegment segments = 3; + + // All video frames where a label was detected. + repeated LabelFrame frames = 4; +} + +// Video frame level annotation results for explicit content. +message ExplicitContentFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Likelihood of the pornography content.. + Likelihood pornography_likelihood = 2; +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +message ExplicitContentAnnotation { + // All video frames where explicit content was detected. + repeated ExplicitContentFrame frames = 1; +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +message NormalizedBoundingBox { + // Left X coordinate. + float left = 1; + + // Top Y coordinate. + float top = 2; + + // Right X coordinate. + float right = 3; + + // Bottom Y coordinate. + float bottom = 4; +} + +// Video segment level annotation results for face detection. +message FaceSegment { + // Video segment where a face was detected. + VideoSegment segment = 1; +} + +// Video frame level annotation results for face detection. +message FaceFrame { + // Normalized Bounding boxes in a frame. + // There can be more than one boxes if the same face is detected in multiple + // locations within the current frame. + repeated NormalizedBoundingBox normalized_bounding_boxes = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this location. + google.protobuf.Duration time_offset = 2; +} + +// Face annotation. +message FaceAnnotation { + // Thumbnail of a representative face view (in JPEG format). + bytes thumbnail = 1; + + // All video segments where a face was detected. + repeated FaceSegment segments = 2; + + // All video frames where a face was detected. + repeated FaceFrame frames = 3; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + repeated LabelAnnotation segment_label_annotations = 2; + + // Label annotations on shot level. + // There is exactly one element for each unique label. + repeated LabelAnnotation shot_label_annotations = 3; + + // Label annotations on frame level. + // There is exactly one element for each unique label. + repeated LabelAnnotation frame_label_annotations = 4; + + // Face annotations. There is exactly one element for each unique face. + repeated FaceAnnotation face_annotations = 5; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 6; + + // Explicit content annotation. + ExplicitContentAnnotation explicit_annotation = 7; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 9; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. + // Guaranteed to be 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // Human face detection and tracking. + FACE_DETECTION = 4; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 70e8d3d570b..64004b291fc 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -29,21 +29,16 @@ View the [source code][video_0_code]. __Usage:__ `node analyze.js --help` ``` -analyze.js - Commands: - analyze.js faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - analyze.js shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - analyze.js labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - analyze.js labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. - analyze.js safe-search Detects explicit content in a video stored in Google Cloud Storage. + faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. + shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. + labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. + safe-search Detects explicit content in a video stored in Google Cloud Storage. Options: - --version Show version number [boolean] - --help Show help [boolean] + --help Show help [boolean] Examples: node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 78f0cead59a..533ac133288 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^0.4.0", + "@google-cloud/video-intelligence": "^1.0.0", "long": "^3.2.0", "safe-buffer": "5.1.1", "yargs": "10.0.3" diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index c0e1656b972..4e4683d9041 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -27,6 +27,9 @@ /** * @namespace google.cloud.videointelligence */ +/** + * @namespace google.cloud.videointelligence.v1 + */ /** * @namespace google.cloud.videointelligence.v1beta2 */ @@ -38,6 +41,7 @@ // Import the clients for each version supported by this package. const gapic = Object.freeze({ + v1: require('./v1'), v1beta2: require('./v1beta2'), v1beta1: require('./v1beta1'), }); @@ -46,7 +50,11 @@ const gapic = Object.freeze({ * The `@google-cloud/video-intelligence` package has the following named exports: * * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1beta2.VideoIntelligenceServiceClient} + * {@link v1.VideoIntelligenceServiceClient} + * - `v1` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1.VideoIntelligenceServiceClient} * - `v1beta2` - This is used for selecting or pinning a * particular backend service version. It exports: * - `VideoIntelligenceServiceClient` - Reference to @@ -82,10 +90,23 @@ const gapic = Object.freeze({ /** * @type {object} * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1beta2.VideoIntelligenceServiceClient} + * Reference to {@link v1.VideoIntelligenceServiceClient} + */ +module.exports = gapic.v1; + +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1.VideoIntelligenceServiceClient} */ -module.exports = gapic.v1beta2; +module.exports.v1 = gapic.v1; +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1beta2.VideoIntelligenceServiceClient} + */ +module.exports.v1beta2 = gapic.v1beta2; /** * @type {object} * @property {constructor} VideoIntelligenceServiceClient diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js new file mode 100644 index 00000000000..2ce772823f4 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -0,0 +1,652 @@ +// 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. + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video + * is treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1.LabelDetectionConfig} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} + * + * @property {Object} faceDetectionConfig + * Config for FACE_DETECTION. + * + * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1.FaceDetectionConfig} + * + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION. + * + * @property {number} labelDetectionMode + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. + * If unspecified, defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1.LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * Should be used with `SHOT_AND_FRAME_MODE` enabled. + * + * @property {string} model + * Model to use for label detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef LabelDetectionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var LabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION. + * + * @property {string} model + * Model to use for shot change detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var ShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION. + * + * @property {string} model + * Model to use for explicit content detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var ExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for FACE_DETECTION. + * + * @property {string} model + * Model to use for face detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @property {boolean} includeBoundingBoxes + * Whether bounding boxes be included in the face annotation output. + * + * @typedef FaceDetectionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var FaceDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {Object} startTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the start of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the end of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for label detection. + * + * @property {Object} segment + * Video segment where a label was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelSegment + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var LabelSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for label detection. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelFrame + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var LabelFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Detected entity from video analysis. + * + * @property {string} entityId + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @typedef Entity + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var Entity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {Object} entity + * Detected entity. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} + * + * @property {Object[]} categoryEntities + * Common categories for the detected entity. + * E.g. when the label is `Terrier` the category is likely `dog`. And in some + * cases there might be more than one categories e.g. `Terrier` could also be + * a `pet`. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} + * + * @property {Object[]} segments + * All video segments where a label was detected. + * + * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1.LabelSegment} + * + * @property {Object[]} frames + * All video frames where a label was detected. + * + * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1.LabelFrame} + * + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for explicit content. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} pornographyLikelihood + * Likelihood of the pornography content.. + * + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1.Likelihood} + * + * @typedef ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var ExplicitContentFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Explicit content annotation (based on per-frame visual signals only). + * If no explicit content has been detected in a frame, no annotations are + * present for that frame. + * + * @property {Object[]} frames + * All video frames where explicit content was detected. + * + * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1.ExplicitContentFrame} + * + * @typedef ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var ExplicitContentAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding box. + * The normalized vertex coordinates are relative to the original image. + * Range: [0, 1]. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @typedef NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var NormalizedBoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for face detection. + * + * @property {Object} segment + * Video segment where a face was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @typedef FaceSegment + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var FaceSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for face detection. + * + * @property {Object[]} normalizedBoundingBoxes + * Normalized Bounding boxes in a frame. + * There can be more than one boxes if the same face is detected in multiple + * locations within the current frame. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1.NormalizedBoundingBox} + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef FaceFrame + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var FaceFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face annotation. + * + * @property {string} thumbnail + * Thumbnail of a representative face view (in JPEG format). + * + * @property {Object[]} segments + * All video segments where a face was detected. + * + * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1.FaceSegment} + * + * @property {Object[]} frames + * All video frames where a face was detected. + * + * This object should have the same structure as [FaceFrame]{@link google.cloud.videointelligence.v1.FaceFrame} + * + * @typedef FaceAnnotation + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} segmentLabelAnnotations + * Label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} + * + * @property {Object[]} shotLabelAnnotations + * Label annotations on shot level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} + * + * @property {Object[]} frameLabelAnnotations + * Label annotations on frame level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} + * + * @property {Object[]} faceAnnotations + * Face annotations. There is exactly one element for each unique face. + * + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1.FaceAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @property {Object} explicitAnnotation + * Explicit content annotation. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1.ExplicitContentAnnotation} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1.VideoAnnotationResults} + * + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. + * Guaranteed to be 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1.VideoAnnotationProgress} + * + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +var AnnotateVideoProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1 + */ +var Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + EXPLICIT_CONTENT_DETECTION: 3, + + /** + * Human face detection and tracking. + */ + FACE_DETECTION: 4 +}; + +/** + * Label detection mode. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1 + */ +var LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1 + */ +var Likelihood = { + + /** + * Unspecified likelihood. + */ + LIKELIHOOD_UNSPECIFIED: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..21feb744243 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js new file mode 100644 index 00000000000..6c3cdb383e2 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js @@ -0,0 +1,97 @@ +// 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 Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + * + * @property {number} seconds + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + * + * @property {number} nanos + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + * + * @typedef Duration + * @memberof google.protobuf + * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} + */ +var Duration = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..be5e96ce26d --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/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-videointelligence/src/v1/index.js b/packages/google-cloud-videointelligence/src/v1/index.js new file mode 100644 index 00000000000..d7d8fac5254 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); + +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js new file mode 100644 index 00000000000..e1b490cf4af --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -0,0 +1,333 @@ +// 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('./video_intelligence_service_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 implements Google Cloud Video Intelligence API. + * + * @class + * @memberof v1 + */ +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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/videointelligence/v1/video_intelligence.proto' + ) + ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1/video_intelligence.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 annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1.AnnotateVideoResponse' + ); + var annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1.AnnotateVideoProgress' + ); + + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1.VideoIntelligenceService', + 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.videointelligence.v1.VideoIntelligenceService. + var videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1.VideoIntelligenceService, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (let methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.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 'videointelligence.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']; + } + + /** + * 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 -- + // ------------------- + + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} [request.inputUri] + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {string} [request.inputContent] + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} [request.features] + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videoIntelligence = require('@google-cloud/video-intelligence'); + * + * var client = new videoIntelligence.v1.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * + * + * // Handle the operation using the promise pattern. + * client.annotateVideo({}) + * .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); + * }); + * + * + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo({}) + * .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); + * }); + */ + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } +} + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..581465bd5b8 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js new file mode 100644 index 00000000000..bb83b5dd34c --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1.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. + +'use strict'; + +const assert = require('assert'); + +const videoIntelligenceModule = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', () => { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', done => { + var client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + var request = {}; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .annotateVideo(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes annotateVideo with error', done => { + var client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + var request = {}; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .annotateVideo(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 videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof + Function + ); + }); + }); +}); + +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 f4da62c9b18d1c28938c4ec821eaec352c671f3a Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Thu, 18 Jan 2018 08:15:51 -0500 Subject: [PATCH 039/418] =?UTF-8?q?Update=20mocha=20to=20the=20latest=20ve?= =?UTF-8?q?rsion=20=F0=9F=9A=80=20(#15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b7b05b2d91e..5394f5fdac5 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -66,7 +66,7 @@ "ink-docstrap": "^1.3.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "mocha": "^4.0.1", + "mocha": "^5.0.0", "nyc": "^11.2.1", "power-assert": "^1.4.4", "prettier": "^1.8.1" From b6be54e74d413ef1946d0c0e87f57623cb06eaad Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 5 Feb 2018 09:08:52 -0500 Subject: [PATCH 040/418] =?UTF-8?q?Update=20eslint-plugin-node=20to=20the?= =?UTF-8?q?=20latest=20version=20=F0=9F=9A=80=20(#16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 5394f5fdac5..16261eb1a04 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -61,7 +61,7 @@ "codecov": "^3.0.0", "eslint": "^4.9.0", "eslint-config-prettier": "^2.6.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 d5c0b51324081cd92d2f563f265677c44f64431a Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 22 Feb 2018 16:10:40 -0800 Subject: [PATCH 041/418] chore: removing node7 job from CircleCI (#17) * chore: removing node7 job from CircleCI * chore: rename reference --- .../.circleci/config.yml | 56 +++++++------------ 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 32f8b56b323..61fdbfea17c 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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.]+$/' - publish_npm: requires: - sample_tests @@ -75,12 +66,11 @@ workflows: branches: ignore: /.*/ tags: - only: /^v[\d.]+$/ - + only: '/^v[\d.]+$/' jobs: node4: docker: - - image: node:4 + - image: 'node:4' steps: - checkout - run: @@ -95,24 +85,19 @@ jobs: when: always node6: docker: - - image: node:6 - <<: *unit_tests - node7: - docker: - - image: node:7 - <<: *unit_tests + - image: 'node:6' + steps: *unit_tests node8: docker: - - image: node:8 - <<: *unit_tests + - image: 'node:8' + steps: *unit_tests node9: docker: - - image: node:9 - <<: *unit_tests - + - image: 'node:9' + steps: *unit_tests lint: docker: - - image: node:8 + - image: 'node:8' steps: - checkout - run: @@ -130,10 +115,9 @@ jobs: - run: name: Run linting. command: npm run lint - docs: docker: - - image: node:8 + - image: 'node:8' steps: - checkout - run: @@ -142,10 +126,9 @@ jobs: - run: name: Build documentation. command: npm run docs - sample_tests: docker: - - image: node:8 + - image: 'node:8' steps: - checkout - run: @@ -177,15 +160,14 @@ jobs: command: rm .circleci/key.json when: always working_directory: /var/video-intelligence/ - publish_npm: docker: - - image: node:8 + - image: 'node:8' 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 88faff3b0c8bd0ae4ac19e33ea60b8b1851e10f9 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 5 Mar 2018 16:22:45 -0500 Subject: [PATCH 042/418] fix(package): update google-gax to version 0.15.0 (#19) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 16261eb1a04..4e0809bcd8d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -51,7 +51,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.14.2", + "google-gax": "^0.15.0", "lodash.merge": "^4.6.0", "protobufjs": "^6.8.0" }, From 19a8ec93b4a5feaa91ec98dd6a25ebd0fabad643 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 14 Mar 2018 16:52:09 -0400 Subject: [PATCH 043/418] fix(package): update google-gax to version 0.16.0 (#21) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4e0809bcd8d..8e87060db3b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -51,7 +51,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.15.0", + "google-gax": "^0.16.0", "lodash.merge": "^4.6.0", "protobufjs": "^6.8.0" }, From 9c10a008fc3ed37a6ff92d9ad95b2ff0ba7de1d9 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 15 Mar 2018 14:18:18 -0700 Subject: [PATCH 044/418] feat: generated GAPIC code for v1p1beta1 (#23) --- .../package.json | 1 + .../v1p1beta1/video_intelligence.proto | 556 +++++++++++ .../src/index.js | 8 + .../v1p1beta1/doc_video_intelligence.js | 925 ++++++++++++++++++ .../v1p1beta1/doc/google/protobuf/doc_any.js | 131 +++ .../doc/google/protobuf/doc_duration.js | 97 ++ .../v1p1beta1/doc/google/rpc/doc_status.js | 92 ++ .../src/v1p1beta1/index.js | 19 + .../video_intelligence_service_client.js | 345 +++++++ ...eo_intelligence_service_client_config.json | 31 + .../video_intelligence_service_smoke_test.js | 103 ++ .../test/gapic-v1p1beta1.js | 143 +++ 12 files changed, 2451 insertions(+) create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 8e87060db3b..b595a173562 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,6 +46,7 @@ "lint": "repo-tools lint --cmd eslint -- src/ samples/ test/", "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js 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" }, diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto new file mode 100644 index 00000000000..9025e5e310a --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -0,0 +1,556 @@ +// 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.videointelligence.v1p1beta1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p1beta1;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1p1beta1"; +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p1beta1"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p1beta1/videos:annotate" + body: "*" + }; + } +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. + // If unset, the input video(s) should be specified via `input_uri`. + // If set, `input_uri` should be unset. + bytes input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video + // is treated as a single segment. + repeated VideoSegment segments = 1; + + // Config for LABEL_DETECTION. + LabelDetectionConfig label_detection_config = 2; + + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig shot_change_detection_config = 3; + + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig explicit_content_detection_config = 4; + + // Config for SPEECH_TRANSCRIPTION. + SpeechTranscriptionConfig speech_transcription_config = 6; + + // Config for FACE_DETECTION. + FaceConfig face_detection_config = 7; +} + +// Config for LABEL_DETECTION. +message LabelDetectionConfig { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 1; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + bool stationary_camera = 2; + + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// Config for SHOT_CHANGE_DETECTION. +message ShotChangeDetectionConfig { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for FACE_DETECTION. +message FaceConfig { + // Model to use for face detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; + + // Whether bounding boxes be included in the face annotation output. + bool include_bounding_boxes = 2; + + // Whether to enable emotion detection. Ignored if 'include_bounding_boxes' is + // false. + bool include_emotions = 4; +} + +// Video segment. +message VideoSegment { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + google.protobuf.Duration start_time_offset = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + google.protobuf.Duration end_time_offset = 2; +} + +// Video segment level annotation results for label detection. +message LabelSegment { + // Video segment where a label was detected. + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Video frame level annotation results for label detection. +message LabelFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Detected entity from video analysis. +message Entity { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string entity_id = 1; + + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 2; + + // Language code for `description` in BCP-47 format. + string language_code = 3; +} + +// Label annotation. +message LabelAnnotation { + // Detected entity. + Entity entity = 1; + + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + repeated Entity category_entities = 2; + + // All video segments where a label was detected. + repeated LabelSegment segments = 3; + + // All video frames where a label was detected. + repeated LabelFrame frames = 4; +} + +// Video frame level annotation results for explicit content. +message ExplicitContentFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Likelihood of the pornography content.. + Likelihood pornography_likelihood = 2; +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +message ExplicitContentAnnotation { + // All video frames where explicit content was detected. + repeated ExplicitContentFrame frames = 1; +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +message NormalizedBoundingBox { + // Left X coordinate. + float left = 1; + + // Top Y coordinate. + float top = 2; + + // Right X coordinate. + float right = 3; + + // Bottom Y coordinate. + float bottom = 4; +} + +// Video segment level annotation results for face detection. +message FaceSegment { + // Video segment where a face was detected. + VideoSegment segment = 1; +} + +// Video frame level annotation results for face detection. +message FaceDetectionFrame { + // Face attributes in a frame. + // There can be more than one attributes if the same face is detected in + // multiple locations within the current frame. + repeated FaceDetectionAttribute attributes = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this location. + google.protobuf.Duration time_offset = 2; +} + +// Face detection attribute. +message FaceDetectionAttribute { + // Normalized Bounding box. + NormalizedBoundingBox normalized_bounding_box = 1; + + // Emotion attributes. + repeated EmotionAttribute emotions = 2; +} + +// Emotion attribute. +message EmotionAttribute { + // Emotion entry. + Emotion emotion = 1; + + // Confidence score. + float score = 2; +} + +// Face detection annotation. +message FaceDetectionAnnotation { + // All video segments where a face was detected. + repeated FaceSegment segments = 1; + + // All video frames where a face was detected. + repeated FaceDetectionFrame frames = 2; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + repeated LabelAnnotation segment_label_annotations = 2; + + // Label annotations on shot level. + // There is exactly one element for each unique label. + repeated LabelAnnotation shot_label_annotations = 3; + + // Label annotations on frame level. + // There is exactly one element for each unique label. + repeated LabelAnnotation frame_label_annotations = 4; + + // Face detection annotations. + repeated FaceDetectionAnnotation face_detection_annotations = 13; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 6; + + // Explicit content annotation. + ExplicitContentAnnotation explicit_annotation = 7; + + // Speech transcription. + repeated SpeechTranscription speech_transcriptions = 11; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 9; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. + // Guaranteed to be 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// Config for SPEECH_TRANSCRIPTION. +message SpeechTranscriptionConfig { + // *Required* The language of the supplied audio as a + // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + // Example: "en-US". + // See [Language Support](https://cloud.google.com/speech/docs/languages) + // for a list of the currently supported language codes. + string language_code = 1; + + // *Optional* Maximum number of recognition hypotheses to be returned. + // Specifically, the maximum number of `SpeechRecognitionAlternative` messages + // within each `SpeechRecognitionResult`. The server may return fewer than + // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + // return a maximum of one. If omitted, will return a maximum of one. + int32 max_alternatives = 2; + + // *Optional* If set to `true`, the server will attempt to filter out + // profanities, replacing all but the initial character in each filtered word + // with asterisks, e.g. "f***". If set to `false` or omitted, profanities + // won't be filtered out. + bool filter_profanity = 3; + + // *Optional* A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4; + + // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // tracks, specify up to two tracks. Default: track 0. + repeated int32 audio_tracks = 6; +} + +// Provides "hints" to the speech recognizer to favor specific words and phrases +// in the results. +message SpeechContext { + // *Optional* A list of strings containing words and phrases "hints" so that + // the speech recognition is more likely to recognize them. This can be used + // to improve the accuracy for specific words and phrases, for example, if + // specific commands are typically spoken by the user. This can also be used + // to add additional words to the vocabulary of the recognizer. See + // [usage limits](https://cloud.google.com/speech/limits#content). + repeated string phrases = 1; +} + +// A speech recognition result corresponding to a portion of the audio. +message SpeechTranscription { + // Output only. May contain one or more recognition hypotheses (up to the + // maximum specified in `max_alternatives`). + // These alternatives are ordered in terms of accuracy, with the top (first) + // alternative being the most probable, as ranked by the recognizer. + repeated SpeechRecognitionAlternative alternatives = 1; +} + +// Alternative hypotheses (a.k.a. n-best list). +message SpeechRecognitionAlternative { + // Output only. Transcript text representing the words that the user spoke. + string transcript = 1; + + // Output only. The confidence estimate between 0.0 and 1.0. A higher number + // indicates an estimated greater likelihood that the recognized words are + // correct. This field is typically provided only for the top hypothesis, and + // only for `is_final=true` results. Clients should not rely on the + // `confidence` field as it is not guaranteed to be accurate or consistent. + // The default of 0.0 is a sentinel value indicating `confidence` was not set. + float confidence = 2; + + // Output only. A list of word-specific information for each recognized word. + repeated WordInfo words = 3; +} + +// Word-specific information for recognized words. Word information is only +// included in the response when certain request parameters are set, such +// as `enable_word_time_offsets`. +message WordInfo { + // Output only. Time offset relative to the beginning of the audio, and + // corresponding to the start of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration start_time = 1; + + // Output only. Time offset relative to the beginning of the audio, and + // corresponding to the end of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration end_time = 2; + + // Output only. The word corresponding to this set of information. + string word = 3; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // Face detection. + FACE_DETECTION = 8; + + // Speech transcription. + SPEECH_TRANSCRIPTION = 6; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} + +// Emotions. +enum Emotion { + // Unspecified emotion. + EMOTION_UNSPECIFIED = 0; + + // Amusement. + AMUSEMENT = 1; + + // Anger. + ANGER = 2; + + // Concentration. + CONCENTRATION = 3; + + // Contentment. + CONTENTMENT = 4; + + // Desire. + DESIRE = 5; + + // Disappointment. + DISAPPOINTMENT = 6; + + // Disgust. + DISGUST = 7; + + // Elation. + ELATION = 8; + + // Embarrassment. + EMBARRASSMENT = 9; + + // Interest. + INTEREST = 10; + + // Pride. + PRIDE = 11; + + // Sadness. + SADNESS = 12; + + // Surprise. + SURPRISE = 13; +} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 4e4683d9041..52b3612bbee 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -44,6 +44,7 @@ const gapic = Object.freeze({ v1: require('./v1'), v1beta2: require('./v1beta2'), v1beta1: require('./v1beta1'), + v1p1beta1: require('./v1p1beta1'), }); /** @@ -121,5 +122,12 @@ module.exports.v1beta2 = gapic.v1beta2; */ module.exports.v1beta1 = gapic.v1beta1; +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1p1beta1.VideoIntelligenceServiceClient} + */ +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-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js new file mode 100644 index 00000000000..b7ef989fe98 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -0,0 +1,925 @@ +// 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. + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video + * is treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} + * + * @property {Object} speechTranscriptionConfig + * Config for SPEECH_TRANSCRIPTION. + * + * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} + * + * @property {Object} faceDetectionConfig + * Config for FACE_DETECTION. + * + * This object should have the same structure as [FaceConfig]{@link google.cloud.videointelligence.v1p1beta1.FaceConfig} + * + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION. + * + * @property {number} labelDetectionMode + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. + * If unspecified, defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p1beta1.LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * Should be used with `SHOT_AND_FRAME_MODE` enabled. + * + * @property {string} model + * Model to use for label detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef LabelDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var LabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION. + * + * @property {string} model + * Model to use for shot change detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var ShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION. + * + * @property {string} model + * Model to use for explicit content detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var ExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for FACE_DETECTION. + * + * @property {string} model + * Model to use for face detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @property {boolean} includeBoundingBoxes + * Whether bounding boxes be included in the face annotation output. + * + * @property {boolean} includeEmotions + * Whether to enable emotion detection. Ignored if 'include_bounding_boxes' is + * false. + * + * @typedef FaceConfig + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.FaceConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var FaceConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {Object} startTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the start of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the end of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for label detection. + * + * @property {Object} segment + * Video segment where a label was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelSegment + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var LabelSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for label detection. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelFrame + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var LabelFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Detected entity from video analysis. + * + * @property {string} entityId + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @typedef Entity + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var Entity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {Object} entity + * Detected entity. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p1beta1.Entity} + * + * @property {Object[]} categoryEntities + * Common categories for the detected entity. + * E.g. when the label is `Terrier` the category is likely `dog`. And in some + * cases there might be more than one categories e.g. `Terrier` could also be + * a `pet`. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p1beta1.Entity} + * + * @property {Object[]} segments + * All video segments where a label was detected. + * + * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p1beta1.LabelSegment} + * + * @property {Object[]} frames + * All video frames where a label was detected. + * + * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p1beta1.LabelFrame} + * + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for explicit content. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} pornographyLikelihood + * Likelihood of the pornography content.. + * + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p1beta1.Likelihood} + * + * @typedef ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var ExplicitContentFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Explicit content annotation (based on per-frame visual signals only). + * If no explicit content has been detected in a frame, no annotations are + * present for that frame. + * + * @property {Object[]} frames + * All video frames where explicit content was detected. + * + * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} + * + * @typedef ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var ExplicitContentAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding box. + * The normalized vertex coordinates are relative to the original image. + * Range: [0, 1]. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @typedef NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var NormalizedBoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for face detection. + * + * @property {Object} segment + * Video segment where a face was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} + * + * @typedef FaceSegment + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var FaceSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for face detection. + * + * @property {Object[]} attributes + * Face attributes in a frame. + * There can be more than one attributes if the same face is detected in + * multiple locations within the current frame. + * + * This object should have the same structure as [FaceDetectionAttribute]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionAttribute} + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef FaceDetectionFrame + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var FaceDetectionFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face detection attribute. + * + * @property {Object} normalizedBoundingBox + * Normalized Bounding box. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p1beta1.NormalizedBoundingBox} + * + * @property {Object[]} emotions + * Emotion attributes. + * + * This object should have the same structure as [EmotionAttribute]{@link google.cloud.videointelligence.v1p1beta1.EmotionAttribute} + * + * @typedef FaceDetectionAttribute + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var FaceDetectionAttribute = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Emotion attribute. + * + * @property {number} emotion + * Emotion entry. + * + * The number should be among the values of [Emotion]{@link google.cloud.videointelligence.v1p1beta1.Emotion} + * + * @property {number} score + * Confidence score. + * + * @typedef EmotionAttribute + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.EmotionAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var EmotionAttribute = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face detection annotation. + * + * @property {Object[]} segments + * All video segments where a face was detected. + * + * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1p1beta1.FaceSegment} + * + * @property {Object[]} frames + * All video frames where a face was detected. + * + * This object should have the same structure as [FaceDetectionFrame]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionFrame} + * + * @typedef FaceDetectionAnnotation + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var FaceDetectionAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} segmentLabelAnnotations + * Label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} + * + * @property {Object[]} shotLabelAnnotations + * Label annotations on shot level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} + * + * @property {Object[]} frameLabelAnnotations + * Label annotations on frame level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} + * + * @property {Object[]} faceDetectionAnnotations + * Face detection annotations. + * + * This object should have the same structure as [FaceDetectionAnnotation]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} + * + * @property {Object} explicitAnnotation + * Explicit content annotation. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} + * + * @property {Object[]} speechTranscriptions + * Speech transcription. + * + * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} + * + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. + * Guaranteed to be 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} + * + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var AnnotateVideoProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SPEECH_TRANSCRIPTION. + * + * @property {string} languageCode + * *Required* The language of the supplied audio as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + * Example: "en-US". + * See [Language Support](https://cloud.google.com/speech/docs/languages) + * for a list of the currently supported language codes. + * + * @property {number} maxAlternatives + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` messages + * within each `SpeechRecognitionResult`. The server may return fewer than + * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + * return a maximum of one. If omitted, will return a maximum of one. + * + * @property {boolean} filterProfanity + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered word + * with asterisks, e.g. "f***". If set to `false` or omitted, profanities + * won't be filtered out. + * + * @property {Object[]} speechContexts + * *Optional* A means to provide context to assist the speech recognition. + * + * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p1beta1.SpeechContext} + * + * @property {number[]} audioTracks + * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * tracks, specify up to two tracks. Default: track 0. + * + * @typedef SpeechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var SpeechTranscriptionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Provides "hints" to the speech recognizer to favor specific words and phrases + * in the results. + * + * @property {string[]} phrases + * *Optional* A list of strings containing words and phrases "hints" so that + * the speech recognition is more likely to recognize them. This can be used + * to improve the accuracy for specific words and phrases, for example, if + * specific commands are typically spoken by the user. This can also be used + * to add additional words to the vocabulary of the recognizer. See + * [usage limits](https://cloud.google.com/speech/limits#content). + * + * @typedef SpeechContext + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var SpeechContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A speech recognition result corresponding to a portion of the audio. + * + * @property {Object[]} alternatives + * Output only. May contain one or more recognition hypotheses (up to the + * maximum specified in `max_alternatives`). + * These alternatives are ordered in terms of accuracy, with the top (first) + * alternative being the most probable, as ranked by the recognizer. + * + * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} + * + * @typedef SpeechTranscription + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var SpeechTranscription = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Alternative hypotheses (a.k.a. n-best list). + * + * @property {string} transcript + * Output only. Transcript text representing the words that the user spoke. + * + * @property {number} confidence + * Output only. The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is typically provided only for the top hypothesis, and + * only for `is_final=true` results. Clients should not rely on the + * `confidence` field as it is not guaranteed to be accurate or consistent. + * The default of 0.0 is a sentinel value indicating `confidence` was not set. + * + * @property {Object[]} words + * Output only. A list of word-specific information for each recognized word. + * + * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1p1beta1.WordInfo} + * + * @typedef SpeechRecognitionAlternative + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var SpeechRecognitionAlternative = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such + * as `enable_word_time_offsets`. + * + * @property {Object} startTime + * Output only. Time offset relative to the beginning of the audio, and + * corresponding to the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTime + * Output only. Time offset relative to the beginning of the audio, and + * corresponding to the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {string} word + * Output only. The word corresponding to this set of information. + * + * @typedef WordInfo + * @memberof google.cloud.videointelligence.v1p1beta1 + * @see [google.cloud.videointelligence.v1p1beta1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} + */ +var WordInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p1beta1 + */ +var Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + EXPLICIT_CONTENT_DETECTION: 3, + + /** + * Face detection. + */ + FACE_DETECTION: 8, + + /** + * Speech transcription. + */ + SPEECH_TRANSCRIPTION: 6 +}; + +/** + * Label detection mode. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p1beta1 + */ +var LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p1beta1 + */ +var Likelihood = { + + /** + * Unspecified likelihood. + */ + LIKELIHOOD_UNSPECIFIED: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; + +/** + * Emotions. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p1beta1 + */ +var Emotion = { + + /** + * Unspecified emotion. + */ + EMOTION_UNSPECIFIED: 0, + + /** + * Amusement. + */ + AMUSEMENT: 1, + + /** + * Anger. + */ + ANGER: 2, + + /** + * Concentration. + */ + CONCENTRATION: 3, + + /** + * Contentment. + */ + CONTENTMENT: 4, + + /** + * Desire. + */ + DESIRE: 5, + + /** + * Disappointment. + */ + DISAPPOINTMENT: 6, + + /** + * Disgust. + */ + DISGUST: 7, + + /** + * Elation. + */ + ELATION: 8, + + /** + * Embarrassment. + */ + EMBARRASSMENT: 9, + + /** + * Interest. + */ + INTEREST: 10, + + /** + * Pride. + */ + PRIDE: 11, + + /** + * Sadness. + */ + SADNESS: 12, + + /** + * Surprise. + */ + SURPRISE: 13 +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..f55fa17ff12 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js new file mode 100644 index 00000000000..3ea5c376abb --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js @@ -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 +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT 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 Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + * + * @property {number} seconds + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + * + * @property {number} nanos + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + * + * @typedef Duration + * @memberof google.protobuf + * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} + */ +var Duration = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..7122f1682e0 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/index.js b/packages/google-cloud-videointelligence/src/v1p1beta1/index.js new file mode 100644 index 00000000000..22af92ed0b9 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); + +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js new file mode 100644 index 00000000000..ae1addfc141 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -0,0 +1,345 @@ +// 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('./video_intelligence_service_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 implements Google Cloud Video Intelligence API. + * + * @class + * @memberof v1p1beta1 + */ +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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/videointelligence/v1p1beta1/video_intelligence.proto' + ) + ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1p1beta1/video_intelligence.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 annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' + ); + var annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' + ); + + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', + 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.videointelligence.v1p1beta1.VideoIntelligenceService. + var videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (let methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.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 'videointelligence.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']; + } + + /** + * 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 -- + // ------------------- + + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} [request.inputUri] + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {string} [request.inputContent] + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} [request.features] + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videoIntelligence = require('@google-cloud/video-intelligence'); + * + * var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(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); + * }); + */ + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } +} + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..46e57976a32 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js new file mode 100644 index 00000000000..75fd04c54b5 --- /dev/null +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -0,0 +1,103 @@ +// 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('VideoIntelligenceServiceSmokeTest', () => { + it('successfully makes a call to the service', done => { + const videoIntelligence = require('../src'); + + var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ + // optional auth parameters. + }); + + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; + + // Handle the operation using the promise pattern. + client.annotateVideo(request) + .then(responses => { + var operation = responses[0]; + var initialApiResponse = responses[1]; + console.log(operation); + console.log(initialApiResponse); + + // 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]; + + console.log(result); + console.log(metadata); + console.log(finalApiResponse); + }) + .then(done) + .catch(done); + }); + + it('successfully makes a call to the service', done => { + const videoIntelligence = require('../src'); + + var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ + // optional auth parameters. + }); + + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; + + // Handle the operation using the event emitter pattern. + client.annotateVideo(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) => { + console.log(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) => { + console.log(metadata); + }); + + // Adding a listener for the "error" event handles any errors found during polling. + operation.on('error', err => { + // throw(err); + }); + }) + .then(done) + .catch(done); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js new file mode 100644 index 00000000000..3ed53c5e0c8 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -0,0 +1,143 @@ +// 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 videoIntelligenceModule = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', () => { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', done => { + var client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .annotateVideo(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes annotateVideo with error', done => { + var client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .annotateVideo(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 videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof + Function + ); + }); + }); +}); + +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 72ee546be89dad1f8d974c6107cb8f997fb8a22b Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 15 Mar 2018 15:52:01 -0700 Subject: [PATCH 045/418] chore: release 1.1.0 (#24) --- .../google-cloud-videointelligence/.gitignore | 1 - .../google-cloud-videointelligence/.mailmap | 2 ++ .../CONTRIBUTORS | 3 +++ .../google-cloud-videointelligence/README.md | 2 +- .../package.json | 7 +++++-- .../samples/README.md | 21 ++++++++++++------- .../samples/package.json | 2 +- 7 files changed, 25 insertions(+), 13 deletions(-) diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index 6b80718f261..b7d407606fb 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -7,4 +7,3 @@ out/ system-test/secrets.js system-test/*key.json *.lock -*-lock.js* diff --git a/packages/google-cloud-videointelligence/.mailmap b/packages/google-cloud-videointelligence/.mailmap index 3e8a311c476..ffd360d9204 100644 --- a/packages/google-cloud-videointelligence/.mailmap +++ b/packages/google-cloud-videointelligence/.mailmap @@ -4,3 +4,5 @@ Jason Dobry Jason Dobry Luke Sneeringer Luke Sneeringer Stephen Sawchuk Stephen Sawchuk Stephen Sawchuk Stephen Sawchuk +Stephen Sawchuk Stephen +Alexander Fenster Alexander Fenster diff --git a/packages/google-cloud-videointelligence/CONTRIBUTORS b/packages/google-cloud-videointelligence/CONTRIBUTORS index fafe7606f07..bc85cd1af1b 100644 --- a/packages/google-cloud-videointelligence/CONTRIBUTORS +++ b/packages/google-cloud-videointelligence/CONTRIBUTORS @@ -4,6 +4,7 @@ # name # Ace Nassri +Alexander Fenster Ali Ijaz Sheikh Evawere Ogbe Gus Class @@ -12,3 +13,5 @@ Luke Sneeringer Song Wang Stephen Sawchuk Tim Swast +greenkeeper[bot] +remi Taylor diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index c4f76bd1025..8886710d156 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -164,4 +164,4 @@ See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/maste [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ [product-docs]: https://cloud.google.com/video-intelligence -[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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b595a173562..db5963c570f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.0.0", + "version": "1.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -30,6 +30,7 @@ ], "contributors": [ "Ace Nassri ", + "Alexander Fenster ", "Ali Ijaz Sheikh ", "Evawere Ogbe ", "Gus Class ", @@ -37,7 +38,9 @@ "Luke Sneeringer ", "Song Wang ", "Stephen Sawchuk ", - "Tim Swast " + "Tim Swast ", + "greenkeeper[bot] ", + "remi Taylor " ], "scripts": { "cover": "nyc --reporter=lcov mocha --require intelli-espower-loader test/*.js && nyc report", diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 64004b291fc..c281a9e4576 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -29,16 +29,21 @@ View the [source code][video_0_code]. __Usage:__ `node analyze.js --help` ``` +analyze.js + Commands: - faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. - shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. - labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. - safe-search Detects explicit content in a video stored in Google Cloud Storage. + analyze.js faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + analyze.js shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud + Video Intelligence API. + analyze.js labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video + Intelligence API. + analyze.js labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. + analyze.js safe-search Detects explicit content in a video stored in Google Cloud Storage. Options: - --help Show help [boolean] + --version Show version number [boolean] + --help Show help [boolean] Examples: node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 @@ -53,5 +58,5 @@ For more information, see https://cloud.google.com/video-intelligence/docs [video_0_docs]: https://cloud.google.com/video-intelligence/docs [video_0_code]: analyze.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-video-intelligence&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 533ac133288..84498a5b352 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.0.0", + "@google-cloud/video-intelligence": "1.1.0", "long": "^3.2.0", "safe-buffer": "5.1.1", "yargs": "10.0.3" From f4ab19b94c580584a4915eb962934135c7d80e16 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 16 Mar 2018 12:46:22 -0700 Subject: [PATCH 046/418] Upgrade repo-tools and regenerate scaffolding. (#25) --- .../package-lock.json | 12720 ++++++++++++++++ .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 12722 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/package-lock.json diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json new file mode 100644 index 00000000000..c44a0f2e950 --- /dev/null +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -0,0 +1,12720 @@ +{ + "name": "@google-cloud/video-intelligence", + "version": "1.1.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.3.2" + } + }, + "@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/nodejs-repo-tools": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.2.3.tgz", + "integrity": "sha512-O6OVc8lKiLL8Qtoc1lVAynf5pJT550fHZcW33a7oQ7TMNkrTHPgeoYw4esi4KSbDRn8gV+cfefnkgqxXmr+KzA==", + "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-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": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "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.0", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.1.0", + "ava-init": "0.2.1", + "babel-core": "6.26.0", + "babel-generator": "6.26.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.3.0", + "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.0.10", + "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.1.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.1.2", + "pretty-ms": "3.0.1", + "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.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" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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-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" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "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 + }, + "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" + } + }, + "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" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "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 + }, + "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.4.0", + "lodash.get": "4.4.2", + "lolex": "2.3.2", + "nise": "1.2.0", + "supports-color": "5.3.0", + "type-detect": "4.0.8" + } + }, + "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-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" + } + }, + "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" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "@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" + } + }, + "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 + }, + "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 + }, + "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": "7.0.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.46.tgz", + "integrity": "sha512-u+JAi1KtmaUoU/EHJkxoiuvzyo91FCE41Z9TZWWcOUU3P8oUdlDLdrGzCGWySPgbRMD17B0B+1aaJLYI9egQ6A==" + }, + "acorn": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "dev": true + }, + "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.2.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.5.tgz", + "integrity": "sha1-tjcjTT4mdetfefxlIkKoU6SMtJ8=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "json-schema-traverse": "0.3.1", + "json-stable-stringify": "1.0.1" + } + }, + "ajv-keywords": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", + "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "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" + } + }, + "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-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.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "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" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "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": "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-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.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=" + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "requires": { + "lodash": "4.17.4" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.1.0.tgz", + "integrity": "sha1-k7hk3H7gGjJigXddXHXKCnUeWWE=", + "dev": true + }, + "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.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.0", + "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": { + "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.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" + }, + "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.4" + } + }, + "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.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz", + "integrity": "sha1-VRa4/NsmyfDh2BYHSfbkxl5xJx4=", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.1", + "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.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "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.1", + "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.9", + "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": { + "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=" + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "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.0" + } + }, + "boxen": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz", + "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.0", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "1.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.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" + } + }, + "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" + } + }, + "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=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.1", + "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.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "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.2", + "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" + } + }, + "ci-info": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==", + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "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.5", + "mime-types": "2.1.17" + } + }, + "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.13.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.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.1.0" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "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.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "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=" + }, + "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.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "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.0", + "md5-hex": "2.0.0", + "semver": "5.4.1", + "well-known-symbols": "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.1.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "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.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" + }, + "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.1", + "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.0" + } + } + } + }, + "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.35" + } + }, + "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": "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" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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" + } + } + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "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" + }, + "dependencies": { + "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" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "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.6.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz", + "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=", + "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.3", + "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.1", + "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.1" + } + }, + "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" + } + }, + "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.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "es6-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.2.tgz", + "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg=", + "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.35", + "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.35", + "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.35", + "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.35" + } + }, + "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.35", + "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.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": 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.0", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.9.0.tgz", + "integrity": "sha1-doedJ0BoJhsZH+Dy9Wx0wvQgjos=", + "dev": true, + "requires": { + "ajv": "5.2.5", + "babel-code-frame": "6.26.0", + "chalk": "2.3.0", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.0.0", + "eslint-scope": "3.7.1", + "espree": "3.5.1", + "esquery": "1.0.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.6", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.10.0", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "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", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "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 + }, + "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" + } + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.6.0.tgz", + "integrity": "sha1-8h2w67Q4rWePuYlGCXxLsZi+/Mw=", + "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.6", + "minimatch": "3.0.4", + "resolve": "1.5.0", + "semver": "5.4.1" + }, + "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.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.3.1.tgz", + "integrity": "sha512-AV8shBlGN9tRZffj5v/f4uiQWlP3qiQ+lh+BhTqRLuKSyczx+HRWVkVZaf7dOmguxghAH1wftnou/JUEEChhGg==", + "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.0", + "estraverse": "4.2.0" + } + }, + "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.0", + "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.0", + "espower-source": "2.2.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" + } + }, + "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.1.2", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.0", + "empower-assert": "1.0.1", + "escodegen": "1.9.0", + "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" + } + }, + "espree": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", + "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "dev": true, + "requires": { + "acorn": "5.1.2", + "acorn-jsx": "3.0.1" + } + }, + "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.1" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } + }, + "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.35" + } + }, + "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": "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": { + "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.0.5", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", + "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19", + "jschardet": "1.5.1", + "tmp": "0.0.33" + } + }, + "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" + } + }, + "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.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "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" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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==" + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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-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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "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" + } + } + } + }, + "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": "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": "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.1.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.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", + "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=", + "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.3" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", + "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.7.0", + "node-pre-gyp": "0.6.36" + }, + "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, + "optional": 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 + }, + "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, + "optional": 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.36", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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, + "optional": 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 + }, + "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" + } + }, + "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" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz", + "integrity": "sha1-ENNAOeDfBCcuJizyQiT3IJQ0308=", + "dev": true, + "requires": { + "ini": "1.3.4" + } + }, + "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": "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" + } + }, + "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.4", + "protobufjs": "6.8.0", + "through2": "2.0.3" + }, + "dependencies": { + "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" + } + }, + "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.6", + "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.5.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.3.2", + "request": "2.83.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.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.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.6", + "pify": "3.0.0", + "slash": "1.0.0" + } + } + } + }, + "grpc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.9.1.tgz", + "integrity": "sha512-WNW3MWMuAoo63AwIlzFE3T0KzzvNBSvOkg67Hm8WhvHNkXFBlIk1QyJRE3Ocm0O5eIwS7JU8Ssota53QR1zllg==", + "requires": { + "lodash": "4.17.4", + "nan": "2.7.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" + } + }, + "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" + } + }, + "mime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", + "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==" + }, + "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==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "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 + }, + "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.2.5", + "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.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==", + "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-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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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": { + "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" + } + } + } + }, + "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 + }, + "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.0", + "sntp": "2.0.2" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "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.6.2", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "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.13.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.0.2", + "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.0", + "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.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.6.tgz", + "integrity": "sha512-HrxmNxKTGZ9a3uAl/FNG66Sdt0G9L4TtMbbUQjP1WhGmSj0FOyHvSgx7623aGJvXfPOur8MwmarlHT+37jmzlw==" + }, + "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.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true + }, + "ink-docstrap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.0.tgz", + "integrity": "sha1-6QBeW7kCXMmpvo5ErYf4rViIyB0=", + "dev": true, + "requires": { + "moment": "2.19.1", + "sanitize-html": "1.14.1" + } + }, + "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.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.0.5", + "figures": "2.0.0", + "lodash": "4.17.4", + "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-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": "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.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=" + }, + "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-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" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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.10.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.0.10", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true, + "requires": { + "ci-info": "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==", + "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==" + } + } + }, + "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" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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": "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=", + "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": "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-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.0", + "is-path-inside": "1.0.0" + } + }, + "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": "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-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": "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" + } + }, + "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.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true, + "requires": { + "tryit": "1.0.3" + } + }, + "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": "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" + } + }, + "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.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "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 + }, + "jschardet": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", + "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", + "dev": 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.6", + "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-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=", + "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=" + }, + "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=" + }, + "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.26", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.26.tgz", + "integrity": "sha512-IIG0FXHB/XpUZ7vGbktoc2EGsF+fLHJ1tU+vaqoKkVRBwH2FDxLTmkGkSp0XHRp6Y3KGZPIldH1YW8lOluGYrA==", + "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": "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" + } + }, + "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" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "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.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.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.0", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", + "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + }, + "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.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" + } + }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", + "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", + "dev": true + }, + "matcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.0.0.tgz", + "integrity": "sha1-qvDEgW62m5IJRnQXViXzRmsOPhk=", + "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.1.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" + } + }, + "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==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "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" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "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" + } + }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "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.8" + } + }, + "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": { + "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 + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "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" + } + } + } + }, + "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.19.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz", + "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc=", + "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.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" + }, + "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" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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 + }, + "nise": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.0.tgz", + "integrity": "sha512-q9jXh3UNsMV28KeqI43ILz5+c3l+RiNW8mhurEwCKckuHQbL+hTJIKKTiUlCPKlgQ/OukFvSnKB/Jk3+sFbkGA==", + "dev": true, + "requires": { + "formatio": "1.2.0", + "just-extend": "1.1.26", + "lolex": "1.6.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" + }, + "dependencies": { + "lolex": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=", + "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" + } + }, + "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.2.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.2.1.tgz", + "integrity": "sha1-rYUK/p261/SXByi0suR/7Rw4chw=", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.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.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.0.7", + "istanbul-lib-instrument": "1.8.0", + "istanbul-lib-report": "1.1.1", + "istanbul-lib-source-maps": "1.2.1", + "istanbul-reports": "1.1.2", + "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.1", + "signal-exit": "3.0.2", + "spawn-wrap": "1.3.8", + "test-exclude": "4.1.1", + "yargs": "8.0.2", + "yargs-parser": "5.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.1", + "regenerator-runtime": "0.11.0" + } + }, + "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.8", + "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.0", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.1", + "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.8", + "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.10", + "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.5", + "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.0.7", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.8.0", + "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.1", + "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.1", + "bundled": true, + "dev": true, + "requires": { + "debug": "2.6.8", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "source-map": "0.5.7" + } + }, + "istanbul-reports": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.10" + } + }, + "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.5" + } + }, + "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.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, + "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.0", + "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.1", + "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.3.8", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.1", + "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": "8.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.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": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "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" + } + } + } + }, + "load-json-file": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "path-type": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "yargs-parser": { + "version": "7.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.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==" + } + } + } + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.0.4" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "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.1.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.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" + } + }, + "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.1", + "registry-url": "3.1.0", + "semver": "5.4.1" + }, + "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" + } + }, + "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": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "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": "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" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "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-conf": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.0.0.tgz", + "integrity": "sha1-BxyHZQQDvM+5xif1h1G/5HwGcnk=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "load-json-file": "2.0.0" + } + }, + "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=" + }, + "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.1", + "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.1", + "espurify": "1.7.0", + "estraverse": "4.2.0" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "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.1", + "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.1", + "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.1", + "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.1", + "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.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.0.1.tgz", + "integrity": "sha1-fBi3PCKKm49u3Cg1oSy49+2F+fQ=", + "dev": true, + "requires": { + "parse-ms": "1.0.1", + "plur": "2.1.2" + } + }, + "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": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "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.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.0.tgz", + "integrity": "sha512-47Y49f5JN5Qsbxas2TyI2zFO8j9GpQAQm5thf54fr2O8qcP/jkIXYxmYx1hN2WQFAhESU1xpVn5NWVDBB8WFnw==", + "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": "7.0.46", + "long": "3.2.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=" + }, + "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": { + "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" + } + } + } + }, + "rc": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "dev": 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", + "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" + } + }, + "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.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" + } + }, + "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.3", + "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.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "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-quote": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz", + "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=", + "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.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", + "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "dev": true, + "requires": { + "rc": "1.2.2", + "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.2" + } + }, + "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.0.2" + } + }, + "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.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "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", + "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.17", + "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.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "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==" + }, + "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.14.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.14.1.tgz", + "integrity": "sha1-cw/6Ikm98YMz7/5FsoYXPJxa0Lg=", + "dev": true, + "requires": { + "htmlparser2": "3.9.2", + "regexp-quote": "0.0.0", + "xtend": "4.0.1" + } + }, + "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 + }, + "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.4.1" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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" + } + }, + "sntp": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", + "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", + "requires": { + "hoek": "4.2.0" + } + }, + "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.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" + } + }, + "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": "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 + }, + "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 + }, + "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" + } + }, + "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-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-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.1", + "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 + }, + "superagent": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.0.tgz", + "integrity": "sha512-71XGWgtn70TNwgmgYa69dPOYg55aU9FCahjUNY03rOrKvaTCaU3b9MeZmqonmf9Od96SCxr3vGfEAnhM7dtxCw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "cookiejar": "2.1.1", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.1", + "formidable": "1.1.1", + "methods": "1.1.2", + "mime": "1.4.1", + "qs": "6.5.1", + "readable-stream": "2.3.3" + } + }, + "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.10.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.0" + } + }, + "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" + } + }, + "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 + }, + "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.5", + "ajv-keywords": "2.1.0", + "chalk": "2.3.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", + "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.3", + "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" + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "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" + } + }, + "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 + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "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-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=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.2.2", + "chalk": "2.3.0", + "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" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + }, + "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" + } + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", + "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "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.1.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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "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" + } + } + } +} diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index db5963c570f..f8a5ad29fb5 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -60,7 +60,7 @@ "protobufjs": "^6.8.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.1.1", + "@google-cloud/nodejs-repo-tools": "^2.2.3", "async": "^2.5.0", "codecov": "^3.0.0", "eslint": "^4.9.0", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 84498a5b352..df6b8357e1a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -20,7 +20,7 @@ "yargs": "10.0.3" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.1.0", + "@google-cloud/nodejs-repo-tools": "2.2.3", "ava": "0.23.0" } } From 02cfe5fb44ac9b2ac702940cf38b613472b9d2d0 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 19 Mar 2018 18:33:48 -0700 Subject: [PATCH 047/418] chore: setup nighty build in CircleCI (#26) * chore: setup nighty build in CircleCI * chore: setup nighty build in CircleCI --- .../.circleci/config.yml | 47 +++++++------ .../.circleci/get_workflow_name.py | 67 +++++++++++++++++++ 2 files changed, 95 insertions(+), 19 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.circleci/get_workflow_name.py diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 61fdbfea17c..bb46bdccff6 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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: @@ -67,15 +54,34 @@ 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' - 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 @@ -86,20 +92,21 @@ jobs: node6: docker: - image: 'node:6' - steps: *unit_tests + steps: *unit_tests_steps node8: docker: - image: 'node:8' - steps: *unit_tests + steps: *unit_tests_steps node9: docker: - image: 'node:9' - steps: *unit_tests + steps: *unit_tests_steps lint: docker: - image: 'node:8' steps: - checkout + - run: *remove_package_lock - run: name: Install modules and dependencies. command: | @@ -120,6 +127,7 @@ jobs: - image: 'node:8' steps: - checkout + - run: *remove_package_lock - run: name: Install modules and dependencies. command: npm install @@ -131,6 +139,7 @@ jobs: - image: 'node:8' steps: - checkout + - run: *remove_package_lock - run: name: Decrypt credentials. command: | diff --git a/packages/google-cloud-videointelligence/.circleci/get_workflow_name.py b/packages/google-cloud-videointelligence/.circleci/get_workflow_name.py new file mode 100644 index 00000000000..ff6b58fd24f --- /dev/null +++ b/packages/google-cloud-videointelligence/.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 aeb35abcc156327afae3ac841d513b8fb8f98571 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 27 Mar 2018 18:10:50 -0700 Subject: [PATCH 048/418] chore: workaround for repo-tools EPERM (#27) --- .../.circleci/config.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index bb46bdccff6..581381a037f 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -81,7 +81,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 @@ -111,6 +116,10 @@ jobs: 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 npm link - run: name: Link the module being tested to the samples. @@ -130,7 +139,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 302c4591bbc4e0167a944c47034f98203b616646 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 28 Mar 2018 18:45:33 -0700 Subject: [PATCH 049/418] chore: one more workaround for repo-tools EPERM (#28) --- packages/google-cloud-videointelligence/.circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 581381a037f..f33d400420d 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -164,6 +164,10 @@ jobs: name: Install and link the module. 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 npm link - run: name: Link the module being tested to the samples. From a4be9d5beb5c2d9c634e1fed91029d341fe7f0ae Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 6 Apr 2018 09:52:59 -0700 Subject: [PATCH 050/418] Fixes broken links in generated v1p1beta1 docs (#29) --- packages/google-cloud-videointelligence/src/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 52b3612bbee..5a6415d7419 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -36,6 +36,9 @@ /** * @namespace google.cloud.videointelligence.v1beta1 */ +/** + * @namespace google.cloud.videointelligence.v1p1beta1 + */ 'use strict'; From 8677cea00efe3ed370b840e7747dc4ae351d581e Mon Sep 17 00:00:00 2001 From: Shahin Date: Mon, 9 Apr 2018 15:57:27 -0700 Subject: [PATCH 051/418] Added Video Transcription sample code. (#30) * Added Video Transcription sample code. * Code cleanup after running prettier. * Removed the ^ --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f8a5ad29fb5..cbb07019696 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -73,6 +73,6 @@ "mocha": "^5.0.0", "nyc": "^11.2.1", "power-assert": "^1.4.4", - "prettier": "^1.8.1" + "prettier": "^1.11.1" } } From ab1e6d1d57289a874e4774e70794c5b5e220f803 Mon Sep 17 00:00:00 2001 From: Christopher Wilcox Date: Wed, 11 Apr 2018 15:57:26 -0700 Subject: [PATCH 052/418] updated GAPIC code for v1p1beta1 (#31) --- .../v1p1beta1/video_intelligence.proto | 114 --------- .../src/index.js | 6 - .../v1p1beta1/doc_video_intelligence.js | 218 ------------------ 3 files changed, 338 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 9025e5e310a..5eac9c456a0 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -101,9 +101,6 @@ message VideoContext { // Config for SPEECH_TRANSCRIPTION. SpeechTranscriptionConfig speech_transcription_config = 6; - - // Config for FACE_DETECTION. - FaceConfig face_detection_config = 7; } // Config for LABEL_DETECTION. @@ -140,21 +137,6 @@ message ExplicitContentDetectionConfig { string model = 1; } -// Config for FACE_DETECTION. -message FaceConfig { - // Model to use for face detection. - // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". - string model = 1; - - // Whether bounding boxes be included in the face annotation output. - bool include_bounding_boxes = 2; - - // Whether to enable emotion detection. Ignored if 'include_bounding_boxes' is - // false. - bool include_emotions = 4; -} - // Video segment. message VideoSegment { // Time-offset, relative to the beginning of the video, @@ -252,51 +234,6 @@ message NormalizedBoundingBox { float bottom = 4; } -// Video segment level annotation results for face detection. -message FaceSegment { - // Video segment where a face was detected. - VideoSegment segment = 1; -} - -// Video frame level annotation results for face detection. -message FaceDetectionFrame { - // Face attributes in a frame. - // There can be more than one attributes if the same face is detected in - // multiple locations within the current frame. - repeated FaceDetectionAttribute attributes = 1; - - // Time-offset, relative to the beginning of the video, - // corresponding to the video frame for this location. - google.protobuf.Duration time_offset = 2; -} - -// Face detection attribute. -message FaceDetectionAttribute { - // Normalized Bounding box. - NormalizedBoundingBox normalized_bounding_box = 1; - - // Emotion attributes. - repeated EmotionAttribute emotions = 2; -} - -// Emotion attribute. -message EmotionAttribute { - // Emotion entry. - Emotion emotion = 1; - - // Confidence score. - float score = 2; -} - -// Face detection annotation. -message FaceDetectionAnnotation { - // All video segments where a face was detected. - repeated FaceSegment segments = 1; - - // All video frames where a face was detected. - repeated FaceDetectionFrame frames = 2; -} - // Annotation results for a single video. message VideoAnnotationResults { // Video file location in @@ -315,9 +252,6 @@ message VideoAnnotationResults { // There is exactly one element for each unique label. repeated LabelAnnotation frame_label_annotations = 4; - // Face detection annotations. - repeated FaceDetectionAnnotation face_detection_annotations = 13; - // Shot annotations. Each shot is represented as a video segment. repeated VideoSegment shot_annotations = 6; @@ -467,9 +401,6 @@ enum Feature { // Explicit content detection. EXPLICIT_CONTENT_DETECTION = 3; - // Face detection. - FACE_DETECTION = 8; - // Speech transcription. SPEECH_TRANSCRIPTION = 6; } @@ -509,48 +440,3 @@ enum Likelihood { // Very likely. VERY_LIKELY = 5; } - -// Emotions. -enum Emotion { - // Unspecified emotion. - EMOTION_UNSPECIFIED = 0; - - // Amusement. - AMUSEMENT = 1; - - // Anger. - ANGER = 2; - - // Concentration. - CONCENTRATION = 3; - - // Contentment. - CONTENTMENT = 4; - - // Desire. - DESIRE = 5; - - // Disappointment. - DISAPPOINTMENT = 6; - - // Disgust. - DISGUST = 7; - - // Elation. - ELATION = 8; - - // Embarrassment. - EMBARRASSMENT = 9; - - // Interest. - INTEREST = 10; - - // Pride. - PRIDE = 11; - - // Sadness. - SADNESS = 12; - - // Surprise. - SURPRISE = 13; -} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 5a6415d7419..7799f1d034b 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -105,12 +105,6 @@ module.exports = gapic.v1; */ module.exports.v1 = gapic.v1; -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1beta2.VideoIntelligenceServiceClient} - */ -module.exports.v1beta2 = gapic.v1beta2; /** * @type {object} * @property {constructor} VideoIntelligenceServiceClient diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index b7ef989fe98..cb7f46595b6 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -96,11 +96,6 @@ var AnnotateVideoRequest = { * * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} * - * @property {Object} faceDetectionConfig - * Config for FACE_DETECTION. - * - * This object should have the same structure as [FaceConfig]{@link google.cloud.videointelligence.v1p1beta1.FaceConfig} - * * @typedef VideoContext * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} @@ -169,29 +164,6 @@ var ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; -/** - * Config for FACE_DETECTION. - * - * @property {string} model - * Model to use for face detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {boolean} includeBoundingBoxes - * Whether bounding boxes be included in the face annotation output. - * - * @property {boolean} includeEmotions - * Whether to enable emotion detection. Ignored if 'include_bounding_boxes' is - * false. - * - * @typedef FaceConfig - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.FaceConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var FaceConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Video segment. * @@ -375,107 +347,6 @@ var NormalizedBoundingBox = { // This is for documentation. Actual contents will be loaded by gRPC. }; -/** - * Video segment level annotation results for face detection. - * - * @property {Object} segment - * Video segment where a face was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} - * - * @typedef FaceSegment - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var FaceSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for face detection. - * - * @property {Object[]} attributes - * Face attributes in a frame. - * There can be more than one attributes if the same face is detected in - * multiple locations within the current frame. - * - * This object should have the same structure as [FaceDetectionAttribute]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionAttribute} - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef FaceDetectionFrame - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var FaceDetectionFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face detection attribute. - * - * @property {Object} normalizedBoundingBox - * Normalized Bounding box. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p1beta1.NormalizedBoundingBox} - * - * @property {Object[]} emotions - * Emotion attributes. - * - * This object should have the same structure as [EmotionAttribute]{@link google.cloud.videointelligence.v1p1beta1.EmotionAttribute} - * - * @typedef FaceDetectionAttribute - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var FaceDetectionAttribute = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Emotion attribute. - * - * @property {number} emotion - * Emotion entry. - * - * The number should be among the values of [Emotion]{@link google.cloud.videointelligence.v1p1beta1.Emotion} - * - * @property {number} score - * Confidence score. - * - * @typedef EmotionAttribute - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.EmotionAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var EmotionAttribute = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face detection annotation. - * - * @property {Object[]} segments - * All video segments where a face was detected. - * - * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1p1beta1.FaceSegment} - * - * @property {Object[]} frames - * All video frames where a face was detected. - * - * This object should have the same structure as [FaceDetectionFrame]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionFrame} - * - * @typedef FaceDetectionAnnotation - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.FaceDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var FaceDetectionAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Annotation results for a single video. * @@ -501,11 +372,6 @@ var FaceDetectionAnnotation = { * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} * - * @property {Object[]} faceDetectionAnnotations - * Face detection annotations. - * - * This object should have the same structure as [FaceDetectionAnnotation]{@link google.cloud.videointelligence.v1p1beta1.FaceDetectionAnnotation} - * * @property {Object[]} shotAnnotations * Shot annotations. Each shot is represented as a video segment. * @@ -766,11 +632,6 @@ var Feature = { */ EXPLICIT_CONTENT_DETECTION: 3, - /** - * Face detection. - */ - FACE_DETECTION: 8, - /** * Speech transcription. */ @@ -843,83 +704,4 @@ var Likelihood = { * Very likely. */ VERY_LIKELY: 5 -}; - -/** - * Emotions. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p1beta1 - */ -var Emotion = { - - /** - * Unspecified emotion. - */ - EMOTION_UNSPECIFIED: 0, - - /** - * Amusement. - */ - AMUSEMENT: 1, - - /** - * Anger. - */ - ANGER: 2, - - /** - * Concentration. - */ - CONCENTRATION: 3, - - /** - * Contentment. - */ - CONTENTMENT: 4, - - /** - * Desire. - */ - DESIRE: 5, - - /** - * Disappointment. - */ - DISAPPOINTMENT: 6, - - /** - * Disgust. - */ - DISGUST: 7, - - /** - * Elation. - */ - ELATION: 8, - - /** - * Embarrassment. - */ - EMBARRASSMENT: 9, - - /** - * Interest. - */ - INTEREST: 10, - - /** - * Pride. - */ - PRIDE: 11, - - /** - * Sadness. - */ - SADNESS: 12, - - /** - * Surprise. - */ - SURPRISE: 13 }; \ No newline at end of file From 6b6ab965063452e3d080265516503acedc08fac5 Mon Sep 17 00:00:00 2001 From: Christopher Wilcox Date: Wed, 11 Apr 2018 16:08:52 -0700 Subject: [PATCH 053/418] bump version to 1.2.0 (#32) --- .../package-lock.json | 3018 +++++++++++------ .../package.json | 4 +- .../samples/package.json | 2 +- 3 files changed, 1901 insertions(+), 1123 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index c44a0f2e950..e9523399d6f 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/video-intelligence", - "version": "1.1.0", + "version": "1.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -57,7 +57,7 @@ "dev": true, "requires": { "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.3.2" + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -81,9 +81,9 @@ } }, "@google-cloud/nodejs-repo-tools": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.2.3.tgz", - "integrity": "sha512-O6OVc8lKiLL8Qtoc1lVAynf5pJT550fHZcW33a7oQ7TMNkrTHPgeoYw4esi4KSbDRn8gV+cfefnkgqxXmr+KzA==", + "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", @@ -94,6 +94,7 @@ "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", @@ -101,115 +102,12 @@ "yargs-parser": "9.0.2" }, "dependencies": { - "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": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "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.0", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.1.0", - "ava-init": "0.2.1", - "babel-core": "6.26.0", - "babel-generator": "6.26.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.3.0", - "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.0.10", - "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.1.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.1.2", - "pretty-ms": "3.0.1", - "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.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" - } - }, - "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", @@ -221,84 +119,18 @@ "wrap-ansi": "2.1.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" - } - }, - "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 - }, - "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" - } - }, - "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" - } - }, "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-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" - } - }, "lodash": { "version": "4.17.5", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", "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 - }, "nyc": { "version": "11.4.1", "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", @@ -336,7 +168,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", @@ -346,22 +179,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" @@ -369,12 +206,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" @@ -382,27 +221,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", @@ -412,7 +256,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", @@ -427,7 +272,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" @@ -435,7 +281,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", @@ -444,7 +291,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", @@ -456,7 +304,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", @@ -472,7 +321,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", @@ -483,17 +333,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", @@ -502,7 +355,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", @@ -512,12 +366,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", @@ -527,13 +383,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": { @@ -543,7 +401,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", @@ -555,7 +414,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": { @@ -566,7 +426,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 } @@ -574,32 +435,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", @@ -608,7 +475,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" @@ -616,17 +484,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" @@ -634,7 +505,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" @@ -642,7 +514,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" @@ -650,17 +523,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", @@ -674,7 +550,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", @@ -686,7 +563,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" @@ -694,7 +572,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" @@ -702,7 +581,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" @@ -710,12 +590,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", @@ -727,7 +609,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", @@ -737,7 +620,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" @@ -745,12 +629,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" @@ -758,7 +644,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", @@ -767,22 +654,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", @@ -795,7 +686,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", @@ -804,7 +696,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" @@ -812,17 +705,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", @@ -833,7 +729,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" @@ -843,7 +740,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" @@ -851,22 +749,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", @@ -875,12 +777,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" @@ -888,22 +792,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" @@ -911,12 +819,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" @@ -924,17 +834,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" @@ -942,7 +855,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" @@ -950,7 +864,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" @@ -958,7 +873,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" @@ -966,37 +882,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" @@ -1004,12 +927,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" @@ -1017,7 +942,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", @@ -1031,7 +957,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", @@ -1042,7 +969,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" @@ -1052,7 +980,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", @@ -1064,7 +993,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" @@ -1074,7 +1004,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" @@ -1082,17 +1013,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" @@ -1100,13 +1034,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" @@ -1114,7 +1050,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", @@ -1126,7 +1063,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", @@ -1135,24 +1073,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" @@ -1160,7 +1102,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", @@ -1169,7 +1112,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" @@ -1177,12 +1121,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" @@ -1190,7 +1136,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" @@ -1198,7 +1145,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", @@ -1218,12 +1166,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" @@ -1231,12 +1181,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" @@ -1244,12 +1196,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", @@ -1260,7 +1214,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" @@ -1268,7 +1223,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" @@ -1276,17 +1232,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", @@ -1295,7 +1254,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" @@ -1303,7 +1263,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", @@ -1312,12 +1273,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", @@ -1327,17 +1290,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" @@ -1345,7 +1311,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", @@ -1356,7 +1323,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" @@ -1364,7 +1332,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" @@ -1372,22 +1341,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", @@ -1397,17 +1370,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" @@ -1415,7 +1391,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" @@ -1423,7 +1400,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", @@ -1434,17 +1412,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", @@ -1453,7 +1434,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" @@ -1461,7 +1443,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" @@ -1471,7 +1454,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" @@ -1481,7 +1465,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", @@ -1491,7 +1476,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", @@ -1500,7 +1486,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", @@ -1511,12 +1498,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" @@ -1524,22 +1513,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" @@ -1547,22 +1540,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": { @@ -1571,7 +1568,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" @@ -1579,17 +1577,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" @@ -1597,27 +1598,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", @@ -1630,7 +1636,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" @@ -1638,17 +1645,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", @@ -1657,17 +1667,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" @@ -1677,7 +1690,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" @@ -1685,7 +1699,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" @@ -1693,17 +1708,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", @@ -1715,17 +1733,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": { @@ -1736,7 +1757,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": { @@ -1750,13 +1772,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", @@ -1765,7 +1789,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" @@ -1773,23 +1798,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", @@ -1798,7 +1827,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", @@ -1810,12 +1840,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", @@ -1825,17 +1857,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", @@ -1854,7 +1889,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", @@ -1864,7 +1900,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", @@ -1878,7 +1915,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" @@ -1886,7 +1924,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 } } @@ -1904,57 +1943,12 @@ "mem": "1.1.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" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "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 - }, - "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.4.0", - "lodash.get": "4.4.2", - "lolex": "2.3.2", - "nise": "1.2.0", - "supports-color": "5.3.0", - "type-detect": "4.0.8" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, - "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" - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -1974,44 +1968,6 @@ "ansi-regex": "3.0.0" } }, - "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 - }, - "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 - }, - "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" - } - }, "yargs": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", @@ -2031,15 +1987,6 @@ "y18n": "3.2.1", "yargs-parser": "9.0.2" } - }, - "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" - } } } }, @@ -2072,18 +2019,6 @@ "strip-ansi": "0.1.1" } }, - "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 - }, - "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 - }, "pretty-ms": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", @@ -2293,6 +2228,12 @@ } } }, + "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", @@ -2453,11 +2394,157 @@ "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=" }, "auto-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.1.0.tgz", - "integrity": "sha1-k7hk3H7gGjJigXddXHXKCnUeWWE=", + "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.0", + "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.0", + "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.1", + "semver": "5.4.1", + "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.4.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 + }, + "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 + }, + "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-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" + } + }, + "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" + } + }, + "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 + } + } + } + } + }, "ava-init": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.2.1.tgz", @@ -2535,7 +2622,7 @@ "dev": true, "requires": { "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", + "babel-generator": "6.26.1", "babel-helpers": "6.24.1", "babel-messages": "6.23.0", "babel-register": "6.26.0", @@ -2567,9 +2654,9 @@ } }, "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "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", @@ -2710,12 +2797,12 @@ } }, "babel-plugin-espower": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz", - "integrity": "sha1-VRa4/NsmyfDh2BYHSfbkxl5xJx4=", + "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.0", + "babel-generator": "6.26.1", "babylon": "6.18.0", "call-matcher": "1.0.1", "core-js": "2.5.1", @@ -2879,7 +2966,7 @@ "dev": true, "requires": { "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -2908,7 +2995,7 @@ "babylon": "6.18.0", "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.2", + "invariant": "2.2.4", "lodash": "4.17.4" }, "dependencies": { @@ -2990,9 +3077,9 @@ } }, "binary-extensions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, "bluebird": { @@ -3010,9 +3097,9 @@ } }, "boxen": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz", - "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=", + "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", @@ -3021,7 +3108,7 @@ "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", - "widest-line": "1.0.0" + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3144,6 +3231,14 @@ "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": { @@ -3281,7 +3376,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.2", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -3291,9 +3386,9 @@ } }, "ci-info": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==", + "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": { @@ -3407,9 +3502,9 @@ } }, "cli-spinners": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", - "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=", + "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": { @@ -3511,6 +3606,15 @@ } } }, + "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", @@ -3775,17 +3879,28 @@ "md5-hex": "2.0.0", "semver": "5.4.1", "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==", + "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.1.0", + "make-dir": "1.2.0", "unique-string": "1.0.0", "write-file-atomic": "2.3.0", "xdg-basedir": "3.0.0" @@ -3905,13 +4020,10 @@ } }, "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" - } + "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", @@ -4029,9 +4141,9 @@ } }, "diff": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", - "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "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": { @@ -4232,9 +4344,9 @@ } }, "es6-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.2.tgz", - "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg=", + "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": { @@ -5051,7 +5163,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.1.0", + "make-dir": "1.2.0", "pkg-dir": "2.0.0" } }, @@ -5124,19 +5236,10 @@ "mime-types": "2.1.17" } }, - "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.1.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", - "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=", + "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": { @@ -5157,31 +5260,44 @@ "readable-stream": "2.3.3" } }, + "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.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "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.7.0", - "node-pre-gyp": "0.6.36" + "node-pre-gyp": "0.6.39" }, "dependencies": { "abbrev": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", "dev": true, "optional": true }, "ajv": { "version": "4.11.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "optional": true, "requires": { @@ -5191,18 +5307,21 @@ }, "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.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", "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": { @@ -5212,42 +5331,49 @@ }, "asn1": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", "dev": true, "optional": true }, "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=", "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true, "optional": true }, "aws4": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, "optional": true, "requires": { @@ -5256,7 +5382,8 @@ }, "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=", "dev": true, "requires": { "inherits": "2.0.3" @@ -5264,7 +5391,8 @@ }, "boom": { "version": "2.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { "hoek": "2.16.3" @@ -5272,7 +5400,8 @@ }, "brace-expansion": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", + "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", "dev": true, "requires": { "balanced-match": "0.4.2", @@ -5281,29 +5410,34 @@ }, "buffer-shims": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", "dev": true }, "caseless": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true, "optional": true }, "co": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "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 }, "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=", "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -5311,31 +5445,35 @@ }, "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 }, "cryptiles": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, - "optional": true, "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=", "dev": true, "optional": true, "requires": { @@ -5344,7 +5482,8 @@ "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=", "dev": true, "optional": true } @@ -5352,7 +5491,8 @@ }, "debug": { "version": "2.6.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true, "optional": true, "requires": { @@ -5361,24 +5501,35 @@ }, "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=", "dev": true, "optional": true }, "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=", "dev": 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.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", + "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, "optional": true, "requires": { @@ -5387,24 +5538,28 @@ }, "extend": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", "dev": true }, "forever-agent": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, "optional": true }, "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=", "dev": true, "optional": true, "requires": { @@ -5415,12 +5570,14 @@ }, "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 }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -5431,7 +5588,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=", "dev": true, "optional": true, "requires": { @@ -5442,7 +5600,8 @@ }, "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": { @@ -5458,7 +5617,8 @@ }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "optional": true, "requires": { @@ -5467,7 +5627,8 @@ "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=", "dev": true, "optional": true } @@ -5475,7 +5636,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, "requires": { "fs.realpath": "1.0.0", @@ -5488,18 +5650,21 @@ }, "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 }, "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=", "dev": true, "optional": true }, "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=", "dev": true, "optional": true, "requires": { @@ -5509,15 +5674,16 @@ }, "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 }, "hawk": { "version": "3.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, - "optional": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -5527,12 +5693,14 @@ }, "hoek": { "version": "2.16.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "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=", "dev": true, "optional": true, "requires": { @@ -5543,7 +5711,8 @@ }, "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", @@ -5552,18 +5721,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.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "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.1" @@ -5571,24 +5743,28 @@ }, "is-typedarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "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=", "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", "dev": true, "optional": true, "requires": { @@ -5597,19 +5773,22 @@ }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "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=", "dev": true, "optional": true }, "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=", "dev": true, "optional": true, "requires": { @@ -5618,19 +5797,22 @@ }, "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=", "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", "dev": true, "optional": true, "requires": { @@ -5642,7 +5824,8 @@ "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=", "dev": true, "optional": true } @@ -5650,12 +5833,14 @@ }, "mime-db": { "version": "1.27.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", "dev": true }, "mime-types": { "version": "2.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "dev": true, "requires": { "mime-db": "1.27.0" @@ -5663,7 +5848,8 @@ }, "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" @@ -5671,12 +5857,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" @@ -5684,16 +5872,20 @@ }, "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 }, "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, + "version": "0.6.39", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", + "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", "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", @@ -5707,7 +5899,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": { @@ -5717,7 +5910,8 @@ }, "npmlog": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", + "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", "dev": true, "optional": true, "requires": { @@ -5729,24 +5923,28 @@ }, "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 }, "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=", "dev": true, "optional": 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.0.2" @@ -5754,19 +5952,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.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "dev": true, "optional": true, "requires": { @@ -5776,35 +5977,41 @@ }, "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 }, "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=", "dev": true, "optional": true }, "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=", "dev": true }, "punycode": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true, "optional": true }, "qs": { "version": "6.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true, "optional": true }, "rc": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "dev": true, "optional": true, "requires": { @@ -5816,7 +6023,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 } @@ -5824,7 +6032,8 @@ }, "readable-stream": { "version": "2.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", + "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", "dev": true, "requires": { "buffer-shims": "1.0.0", @@ -5838,7 +6047,8 @@ }, "request": { "version": "2.81.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "optional": true, "requires": { @@ -5868,7 +6078,8 @@ }, "rimraf": { "version": "2.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true, "requires": { "glob": "7.1.2" @@ -5876,39 +6087,44 @@ }, "safe-buffer": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", "dev": true }, "semver": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "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 }, "sntp": { "version": "1.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, - "optional": true, "requires": { "hoek": "2.16.3" } }, "sshpk": { "version": "1.13.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", + "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", "dev": true, "optional": true, "requires": { @@ -5925,7 +6141,8 @@ "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=", "dev": true, "optional": true } @@ -5933,7 +6150,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", @@ -5943,7 +6161,8 @@ }, "string_decoder": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", + "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", "dev": true, "requires": { "safe-buffer": "5.0.1" @@ -5951,13 +6170,15 @@ }, "stringstream": { "version": "0.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", "dev": true, "optional": true }, "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" @@ -5965,13 +6186,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": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { "block-stream": "0.0.9", @@ -5981,7 +6204,8 @@ }, "tar-pack": { "version": "3.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", + "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", "dev": true, "optional": true, "requires": { @@ -5997,7 +6221,8 @@ }, "tough-cookie": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "dev": true, "optional": true, "requires": { @@ -6006,7 +6231,8 @@ }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "optional": true, "requires": { @@ -6015,30 +6241,35 @@ }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "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=", "dev": true, "optional": true }, "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 }, "uuid": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", "dev": true, "optional": true }, "verror": { "version": "1.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", "dev": true, "optional": true, "requires": { @@ -6047,7 +6278,8 @@ }, "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": { @@ -6056,7 +6288,8 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true } } @@ -6148,12 +6381,12 @@ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" }, "global-dirs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz", - "integrity": "sha1-ENNAOeDfBCcuJizyQiT3IJQ0308=", + "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.4" + "ini": "1.3.5" } }, "globals": { @@ -6288,11 +6521,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" @@ -6300,15 +6535,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" @@ -6316,31 +6554,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" @@ -6348,21 +6593,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" @@ -6370,81 +6618,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" @@ -6452,19 +6716,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", @@ -6473,11 +6741,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", @@ -6487,7 +6757,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", @@ -6496,7 +6767,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", @@ -6510,20 +6782,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", @@ -6535,15 +6810,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" @@ -6551,11 +6829,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", @@ -6565,11 +6845,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", @@ -6578,7 +6860,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" @@ -6586,58 +6869,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", @@ -6647,46 +6942,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", @@ -6703,7 +7006,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" @@ -6711,7 +7015,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", @@ -6721,34 +7026,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" @@ -6756,15 +7068,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", @@ -6779,15 +7094,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", @@ -6797,13 +7115,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", @@ -6816,7 +7136,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", @@ -6844,37 +7165,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", @@ -6888,13 +7216,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", @@ -6903,29 +7233,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", @@ -6934,7 +7269,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", @@ -6948,38 +7284,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", @@ -6988,20 +7331,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=" } } }, @@ -7043,6 +7389,54 @@ } } }, + "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.1", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "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", @@ -7120,9 +7514,9 @@ "dev": true }, "has-symbol-support-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", - "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==", + "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": { @@ -7131,7 +7525,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": { @@ -7227,9 +7621,9 @@ } }, "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==", + "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": { @@ -7269,7 +7663,7 @@ "dev": true, "requires": { "dot-prop": "4.2.0", - "es6-error": "4.0.2", + "es6-error": "4.1.1", "graceful-fs": "4.1.11", "indent-string": "3.2.0", "json5": "0.5.1", @@ -7349,9 +7743,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "ink-docstrap": { @@ -7445,9 +7839,9 @@ } }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "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" @@ -7491,7 +7885,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.10.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -7509,12 +7903,12 @@ } }, "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "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.1" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -7619,7 +8013,7 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.0", + "global-dirs": "0.1.1", "is-path-inside": "1.0.0" } }, @@ -7651,12 +8045,12 @@ "dev": true }, "is-observable": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", - "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "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": "0.2.4" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -7915,6 +8309,12 @@ "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", @@ -7970,9 +8370,9 @@ } }, "just-extend": { - "version": "1.1.26", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.26.tgz", - "integrity": "sha512-IIG0FXHB/XpUZ7vGbktoc2EGsF+fLHJ1tU+vaqoKkVRBwH2FDxLTmkGkSp0XHRp6Y3KGZPIldH1YW8lOluGYrA==", + "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": { @@ -8150,6 +8550,12 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" }, + "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": "3.2.0", "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", @@ -8181,9 +8587,9 @@ } }, "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "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": { @@ -8197,9 +8603,9 @@ } }, "make-dir": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", - "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "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" @@ -8239,9 +8645,9 @@ "dev": true }, "matcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.0.0.tgz", - "integrity": "sha1-qvDEgW62m5IJRnQXViXzRmsOPhk=", + "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" @@ -8634,24 +9040,16 @@ "dev": true }, "nise": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.2.0.tgz", - "integrity": "sha512-q9jXh3UNsMV28KeqI43ILz5+c3l+RiNW8mhurEwCKckuHQbL+hTJIKKTiUlCPKlgQ/OukFvSnKB/Jk3+sFbkGA==", + "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": { - "formatio": "1.2.0", - "just-extend": "1.1.26", - "lolex": "1.6.0", + "@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" - }, - "dependencies": { - "lolex": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", - "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=", - "dev": true - } } }, "normalize-package-data": { @@ -8660,10 +9058,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", + "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8745,7 +9143,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", @@ -8755,22 +9154,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" @@ -8778,12 +9181,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" @@ -8791,27 +9196,32 @@ }, "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 }, "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", @@ -8821,7 +9231,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", @@ -8836,7 +9247,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" @@ -8844,7 +9256,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.1", @@ -8853,7 +9266,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", @@ -8865,7 +9279,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", @@ -8881,7 +9296,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", @@ -8892,17 +9308,20 @@ }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", "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", @@ -8911,7 +9330,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", @@ -8921,12 +9341,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", @@ -8936,13 +9358,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": { @@ -8952,7 +9376,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", @@ -8964,7 +9389,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": { @@ -8975,7 +9401,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 } @@ -8983,32 +9410,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.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", "dev": true }, "core-js": { "version": "2.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", "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", @@ -9017,7 +9450,8 @@ }, "debug": { "version": "2.6.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true, "requires": { "ms": "2.0.0" @@ -9025,17 +9459,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" @@ -9043,7 +9480,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" @@ -9051,7 +9489,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" @@ -9059,17 +9498,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", @@ -9083,7 +9525,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", @@ -9095,7 +9538,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" @@ -9103,7 +9547,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" @@ -9111,7 +9556,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" @@ -9119,12 +9565,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", @@ -9136,7 +9584,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", @@ -9146,7 +9595,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" @@ -9154,12 +9604,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" @@ -9167,7 +9619,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", @@ -9176,22 +9629,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": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -9204,7 +9661,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", @@ -9213,7 +9671,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" @@ -9221,17 +9680,20 @@ }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", "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.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", + "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", "dev": true, "requires": { "async": "1.5.2", @@ -9242,7 +9704,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" @@ -9252,7 +9715,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" @@ -9260,22 +9724,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": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", "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", @@ -9284,12 +9752,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" @@ -9297,22 +9767,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.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", "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" @@ -9320,12 +9794,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" @@ -9333,17 +9809,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" @@ -9351,7 +9830,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" @@ -9359,7 +9839,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" @@ -9367,7 +9848,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" @@ -9375,37 +9857,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" @@ -9413,12 +9902,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": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", "dev": true }, "istanbul-lib-hook": { "version": "1.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", + "integrity": "sha1-3WYH8DB2V4/n1vKmMM8UO0m6zdw=", "dev": true, "requires": { "append-transform": "0.4.0" @@ -9426,7 +9917,8 @@ }, "istanbul-lib-instrument": { "version": "1.8.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", + "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", "dev": true, "requires": { "babel-generator": "6.26.0", @@ -9440,7 +9932,8 @@ }, "istanbul-lib-report": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha1-8OVfVmVf+jQiIIC3oM1HYOFAX8k=", "dev": true, "requires": { "istanbul-lib-coverage": "1.1.1", @@ -9451,7 +9944,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" @@ -9461,7 +9955,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", + "integrity": "sha1-pv4ay6jOCO68Y45XLilNJnAIqgw=", "dev": true, "requires": { "debug": "2.6.8", @@ -9473,7 +9968,8 @@ }, "istanbul-reports": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", "dev": true, "requires": { "handlebars": "4.0.10" @@ -9481,17 +9977,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.5" @@ -9499,13 +9998,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" @@ -9513,7 +10014,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", @@ -9525,7 +10027,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", @@ -9534,24 +10037,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" @@ -9559,7 +10066,8 @@ }, "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -9568,7 +10076,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" @@ -9576,12 +10085,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" @@ -9589,7 +10100,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" @@ -9597,7 +10109,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", @@ -9617,12 +10130,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": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -9630,12 +10145,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" @@ -9643,12 +10160,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": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -9659,7 +10178,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" @@ -9667,7 +10187,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" @@ -9675,17 +10196,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", @@ -9694,7 +10218,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" @@ -9702,7 +10227,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", @@ -9711,12 +10237,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", @@ -9726,17 +10254,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" @@ -9744,7 +10275,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", @@ -9755,7 +10287,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" @@ -9763,7 +10296,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" @@ -9771,22 +10305,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", @@ -9796,17 +10334,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" @@ -9814,7 +10355,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" @@ -9822,7 +10364,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", @@ -9833,17 +10376,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": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", "dev": true, "requires": { "is-number": "3.0.0", @@ -9852,7 +10398,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" @@ -9860,7 +10407,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.5" @@ -9870,7 +10418,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.5" @@ -9880,7 +10429,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", @@ -9890,7 +10440,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", @@ -9899,7 +10450,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", @@ -9910,12 +10462,14 @@ }, "regenerator-runtime": { "version": "0.11.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=", "dev": true }, "regex-cache": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -9923,22 +10477,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" @@ -9946,22 +10504,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": { @@ -9970,7 +10532,8 @@ }, "rimraf": { "version": "2.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true, "requires": { "glob": "7.1.2" @@ -9978,17 +10541,20 @@ }, "semver": { "version": "5.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", "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" @@ -9996,27 +10562,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.3.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.3.8.tgz", + "integrity": "sha1-+ip5uZDLsLsAGNymdI2INnsZ7DE=", "dev": true, "requires": { "foreground-child": "1.5.6", @@ -10029,7 +10600,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" @@ -10037,17 +10609,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": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -10056,17 +10631,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" @@ -10076,7 +10654,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" @@ -10084,7 +10663,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" @@ -10092,17 +10672,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": "sha1-TYSWSwlmsAh+zDNKLOAC09k0HiY=", "dev": true, "requires": { "arrify": "1.0.1", @@ -10114,17 +10697,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": { @@ -10135,7 +10721,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": { @@ -10149,13 +10736,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", @@ -10164,7 +10753,8 @@ }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", "dev": true, "requires": { "isexe": "2.0.0" @@ -10172,23 +10762,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", @@ -10197,7 +10791,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", @@ -10209,12 +10804,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", @@ -10224,17 +10821,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": "8.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { "camelcase": "4.1.0", @@ -10254,12 +10854,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": "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", @@ -10269,7 +10871,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", @@ -10281,7 +10884,8 @@ }, "load-json-file": { "version": "2.0.0", - "bundled": true, + "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", @@ -10292,7 +10896,8 @@ }, "path-type": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { "pify": "2.3.0" @@ -10300,7 +10905,8 @@ }, "read-pkg": { "version": "2.0.0", - "bundled": true, + "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", @@ -10310,7 +10916,8 @@ }, "read-pkg-up": { "version": "2.0.0", - "bundled": true, + "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", @@ -10319,12 +10926,14 @@ }, "strip-bom": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "yargs-parser": { "version": "7.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -10334,7 +10943,8 @@ }, "yargs-parser": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { "camelcase": "3.0.0" @@ -10342,7 +10952,8 @@ "dependencies": { "camelcase": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true } } @@ -10465,14 +11076,25 @@ "dev": true, "requires": { "is-observable": "0.2.0", - "symbol-observable": "1.0.4" + "symbol-observable": "1.2.0" }, "dependencies": { - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", - "dev": true + "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 + } + } } } }, @@ -10575,10 +11197,13 @@ "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 + "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", @@ -10586,9 +11211,24 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "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", @@ -10608,7 +11248,7 @@ "dev": true, "requires": { "got": "6.7.1", - "registry-auth-token": "3.3.1", + "registry-auth-token": "3.3.2", "registry-url": "3.1.0", "semver": "5.4.1" }, @@ -10625,7 +11265,7 @@ "is-redirect": "1.0.0", "is-retry-allowed": "1.1.0", "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", + "lowercase-keys": "1.0.1", "safe-buffer": "5.1.1", "timed-out": "4.0.1", "unzip-response": "2.0.1", @@ -10656,9 +11296,9 @@ } }, "parse-ms": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", + "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=", "dev": true }, "pascalcase": { @@ -10753,13 +11393,43 @@ } }, "pkg-conf": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.0.0.tgz", - "integrity": "sha1-BxyHZQQDvM+5xif1h1G/5HwGcnk=", + "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": "2.0.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" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "pkg-dir": { @@ -10932,13 +11602,21 @@ "dev": true }, "pretty-ms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.0.1.tgz", - "integrity": "sha1-fBi3PCKKm49u3Cg1oSy49+2F+fQ=", + "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": { @@ -11057,13 +11735,13 @@ } }, "rc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", - "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "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.4", + "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" }, @@ -11151,9 +11829,9 @@ "dev": true }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { @@ -11192,12 +11870,12 @@ } }, "registry-auth-token": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", - "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "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.2", + "rc": "1.2.6", "safe-buffer": "5.1.1" } }, @@ -11207,7 +11885,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.2" + "rc": "1.2.6" } }, "regjsgen": { @@ -11231,7 +11909,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.0.2" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11373,7 +12051,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11544,6 +12222,38 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "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" + }, + "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 + }, + "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" + } + } + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -11746,24 +12456,35 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "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-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "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=", + "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": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "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": { @@ -11966,9 +12687,9 @@ "dev": true }, "superagent": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.0.tgz", - "integrity": "sha512-71XGWgtn70TNwgmgYa69dPOYg55aU9FCahjUNY03rOrKvaTCaU3b9MeZmqonmf9Od96SCxr3vGfEAnhM7dtxCw==", + "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", @@ -11976,7 +12697,7 @@ "debug": "3.1.0", "extend": "3.0.1", "form-data": "2.3.1", - "formidable": "1.1.1", + "formidable": "1.2.1", "methods": "1.1.2", "mime": "1.4.1", "qs": "6.5.1", @@ -12020,7 +12741,7 @@ "dev": true, "requires": { "methods": "1.1.2", - "superagent": "3.8.0" + "superagent": "3.8.2" } }, "supports-color": { @@ -12033,9 +12754,9 @@ } }, "symbol-observable": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", - "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "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": { @@ -12252,6 +12973,12 @@ "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", @@ -12475,15 +13202,16 @@ "dev": true }, "update-notifier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", - "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.4.0.tgz", + "integrity": "sha1-+bTHAPv9TsEsgRWHJYd31WPYyGY=", "dev": true, "requires": { - "boxen": "1.2.2", + "boxen": "1.3.0", "chalk": "2.3.0", - "configstore": "3.1.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", @@ -12543,13 +13271,13 @@ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, "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=", + "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": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12584,12 +13312,45 @@ "dev": true }, "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "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": "1.0.2" + "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": { @@ -12645,7 +13406,7 @@ "requires": { "detect-indent": "5.0.0", "graceful-fs": "4.1.11", - "make-dir": "1.1.0", + "make-dir": "1.2.0", "pify": "3.0.0", "sort-keys": "2.0.0", "write-file-atomic": "2.3.0" @@ -12715,6 +13476,23 @@ "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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index cbb07019696..9ea8dafa562 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.1.0", + "version": "1.2.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -60,7 +60,7 @@ "protobufjs": "^6.8.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.2.3", + "@google-cloud/nodejs-repo-tools": "^2.3.0", "async": "^2.5.0", "codecov": "^3.0.0", "eslint": "^4.9.0", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index df6b8357e1a..7376ddae335 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "1.1.0", + "@google-cloud/video-intelligence": "1.2.0", "long": "^3.2.0", "safe-buffer": "5.1.1", "yargs": "10.0.3" From 10a0f1b935f94c0a2a5139a6a837f7067c873e44 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 May 2018 08:32:15 -0700 Subject: [PATCH 054/418] chore: lock files maintenance (#34) * chore: lock files maintenance * chore: lock files maintenance --- .../package-lock.json | 8211 ++++++++--------- 1 file changed, 3990 insertions(+), 4221 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index e9523399d6f..19a8376f1b3 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -21,7 +21,7 @@ "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-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", @@ -109,9 +109,9 @@ "dev": true }, "cliui": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", - "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "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", @@ -168,8 +168,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.2.2", @@ -179,26 +178,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" @@ -206,14 +201,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.1.0" @@ -221,32 +214,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", @@ -256,8 +244,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", @@ -272,8 +259,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.26.0" @@ -281,8 +267,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.5.3", @@ -291,8 +276,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", @@ -304,8 +288,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", @@ -321,8 +304,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", @@ -333,20 +315,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", @@ -355,8 +334,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.2", @@ -366,14 +344,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.3.0", @@ -383,15 +359,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": { @@ -401,8 +375,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", @@ -414,8 +387,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": { @@ -426,8 +398,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 } @@ -435,38 +406,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.1.1", @@ -475,8 +440,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" @@ -484,20 +448,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" @@ -505,8 +466,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.1" @@ -514,8 +474,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" @@ -523,20 +482,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.1.0", @@ -550,8 +506,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.1.1", @@ -563,8 +518,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.1" @@ -572,8 +526,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.2.3" @@ -581,8 +534,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" @@ -590,14 +542,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", @@ -609,8 +559,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", @@ -620,8 +569,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" @@ -629,14 +577,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.2" @@ -644,8 +590,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.0.2", @@ -654,26 +599,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", @@ -686,8 +627,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", @@ -696,8 +636,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.1" @@ -705,20 +644,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.5.2", @@ -729,8 +665,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": "1.0.1" @@ -740,8 +675,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.1.1" @@ -749,26 +683,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.4.0", @@ -777,14 +707,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.3.1" @@ -792,26 +720,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.1.1" @@ -819,14 +743,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" @@ -834,20 +756,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.1" @@ -855,8 +774,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.1" @@ -864,8 +782,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" @@ -873,8 +790,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.2.2" @@ -882,44 +798,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" @@ -927,14 +836,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" @@ -942,8 +849,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.26.0", @@ -957,8 +863,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", @@ -969,8 +874,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" @@ -980,8 +884,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", @@ -993,8 +896,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" @@ -1004,8 +906,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.11" @@ -1013,20 +914,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.6" @@ -1034,15 +932,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" @@ -1050,8 +946,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.11", @@ -1063,8 +958,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", @@ -1073,28 +967,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.2" @@ -1102,8 +992,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", @@ -1112,8 +1001,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" @@ -1121,14 +1009,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.1.0" @@ -1136,8 +1022,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.7" @@ -1145,8 +1030,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", @@ -1166,14 +1050,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.8" @@ -1181,14 +1063,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" @@ -1196,14 +1076,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.5.0", @@ -1214,8 +1092,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.1.0" @@ -1223,8 +1100,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.1" @@ -1232,20 +1108,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.5", @@ -1254,8 +1127,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.0.2" @@ -1263,8 +1135,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.8", @@ -1273,14 +1144,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", @@ -1290,20 +1159,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" @@ -1311,8 +1177,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", @@ -1323,8 +1188,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.3.1" @@ -1332,8 +1196,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.1" @@ -1341,26 +1204,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.11", @@ -1370,20 +1229,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.4" @@ -1391,8 +1247,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.1.2" @@ -1400,8 +1255,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.1.0", @@ -1412,20 +1266,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", @@ -1434,8 +1285,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.2.2" @@ -1443,8 +1293,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.6" @@ -1454,8 +1303,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.6" @@ -1465,8 +1313,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.1.0", @@ -1476,8 +1323,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.1.2", @@ -1486,8 +1332,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.1.0", @@ -1498,14 +1343,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" @@ -1513,26 +1356,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.2" @@ -1540,26 +1379,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": { @@ -1568,8 +1403,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.1.2" @@ -1577,20 +1411,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" @@ -1598,32 +1429,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", @@ -1636,8 +1462,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.2.2" @@ -1645,20 +1470,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", @@ -1667,20 +1489,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" @@ -1690,8 +1509,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.1.1" @@ -1699,8 +1517,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.1" @@ -1708,20 +1525,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", @@ -1733,20 +1547,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": { @@ -1757,8 +1568,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": { @@ -1772,15 +1582,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.2", @@ -1789,8 +1597,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" @@ -1798,27 +1605,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.2", @@ -1827,8 +1630,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.1.0", @@ -1840,14 +1642,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", @@ -1857,20 +1657,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", @@ -1889,8 +1686,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.2", @@ -1900,8 +1696,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.1.0", @@ -1915,8 +1710,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" @@ -1924,8 +1718,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 } } @@ -1943,12 +1736,6 @@ "mem": "1.1.0" } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -1974,7 +1761,7 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "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", @@ -2120,15 +1907,14 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "7.0.46", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.46.tgz", - "integrity": "sha512-u+JAi1KtmaUoU/EHJkxoiuvzyo91FCE41Z9TZWWcOUU3P8oUdlDLdrGzCGWySPgbRMD17B0B+1aaJLYI9egQ6A==" + "version": "8.10.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.11.tgz", + "integrity": "sha512-FM7tvbjbn2BUzM/Qsdk9LUGq3zeh7li8NcHoS398dBzqLzfmSqSP1+yKbMRTCcZzLcu2JAR5lq3IKIEYkto7iQ==" }, "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", - "dev": true + "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", @@ -2153,20 +1939,20 @@ } }, "ajv": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.5.tgz", - "integrity": "sha1-tjcjTT4mdetfefxlIkKoU6SMtJ8=", + "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", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "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": { @@ -2178,6 +1964,17 @@ "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": { @@ -2240,12 +2037,12 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.0" + "color-convert": "1.9.1" } }, "anymatch": { @@ -2256,12 +2053,103 @@ "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.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "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" @@ -2274,13 +2162,9 @@ "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" - } + "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", @@ -2335,10 +2219,9 @@ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true + "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", @@ -2370,11 +2253,11 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { - "lodash": "4.17.4" + "lodash": "4.17.10" } }, "async-each": { @@ -2389,9 +2272,9 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, "auto-bind": { "version": "1.2.0", @@ -2411,19 +2294,19 @@ "@concordance/react": "1.0.0", "@ladjs/time-require": "0.1.4", "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.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-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.3.0", + "chalk": "2.4.1", "chokidar": "1.7.0", "clean-stack": "1.3.0", "clean-yaml-object": "0.1.0", @@ -2476,18 +2359,18 @@ "pretty-ms": "3.1.0", "require-precompiled": "0.1.0", "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.1", - "semver": "5.4.1", + "safe-buffer": "5.1.2", + "semver": "5.5.0", "slash": "1.0.0", - "source-map-support": "0.5.4", + "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.3.0", + "supports-color": "5.4.0", "trim-off-newlines": "1.0.1", "unique-temp-dir": "1.0.0", - "update-notifier": "2.4.0" + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2496,25 +2379,47 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "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=", + "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" + } + }, + "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 }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, - "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==", + "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": { - "source-map": "0.6.1" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2525,23 +2430,6 @@ "requires": { "ansi-regex": "3.0.0" } - }, - "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 - } - } } } }, @@ -2564,9 +2452,9 @@ "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=" + "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", @@ -2616,9 +2504,9 @@ } }, "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=", + "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", @@ -2631,26 +2519,15 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "convert-source-map": "1.5.0", + "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.4", + "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": { @@ -2664,7 +2541,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.4", + "lodash": "4.17.10", "source-map": "0.5.7", "trim-right": "1.0.1" }, @@ -2752,7 +2629,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -2805,7 +2682,7 @@ "babel-generator": "6.26.1", "babylon": "6.18.0", "call-matcher": "1.0.1", - "core-js": "2.5.1", + "core-js": "2.5.5", "espower-location-detector": "1.0.0", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -2867,9 +2744,9 @@ } }, "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=", + "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", @@ -2950,13 +2827,24 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.0", + "babel-core": "6.26.3", "babel-runtime": "6.26.0", - "core-js": "2.5.1", + "core-js": "2.5.5", "home-or-tmp": "2.0.0", - "lodash": "4.17.4", + "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": { @@ -2965,7 +2853,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.1", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, @@ -2979,7 +2867,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.4" + "lodash": "4.17.10" } }, "babel-traverse": { @@ -2996,18 +2884,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.4", - "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" - } - } + "lodash": "4.17.10" } }, "babel-types": { @@ -3018,7 +2895,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.4", + "lodash": "4.17.10", "to-fast-properties": "1.0.3" } }, @@ -3055,10 +2932,31 @@ "is-descriptor": "1.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "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" + } } } }, @@ -3093,7 +2991,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } }, "boxen": { @@ -3104,7 +3002,7 @@ "requires": { "ansi-align": "2.0.0", "camelcase": "4.1.0", - "chalk": "2.3.0", + "chalk": "2.4.1", "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", @@ -3151,25 +3049,47 @@ } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "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": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "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", + "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", @@ -3181,6 +3101,12 @@ "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", @@ -3193,8 +3119,15 @@ "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", @@ -3209,13 +3142,6 @@ "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=" - } } }, "cacheable-request": { @@ -3280,7 +3206,7 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.1", + "core-js": "2.5.5", "deep-equal": "1.0.1", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -3358,16 +3284,22 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "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.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "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", @@ -3376,13 +3308,39 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", + "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": { @@ -3415,62 +3373,6 @@ "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" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "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==" } } }, @@ -3587,23 +3489,6 @@ "dev": true, "requires": { "pinkie-promise": "1.0.0" - }, - "dependencies": { - "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" - } - } } }, "code-excerpt": { @@ -3621,163 +3506,14 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codecov": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.0.tgz", - "integrity": "sha1-wnO4xPEpRXI+jcnSWAPYk0Pl8o4=", + "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.81.0", + "request": "2.85.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.5", - "mime-types": "2.1.17" - } - }, - "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.13.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.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.1.0" - } - }, - "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": { @@ -3790,9 +3526,9 @@ } }, "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "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" @@ -3816,9 +3552,9 @@ "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "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" } @@ -3852,13 +3588,14 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "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.3", + "readable-stream": "2.3.6", "typedarray": "0.0.6" } }, @@ -3875,9 +3612,9 @@ "js-string-escape": "1.0.1", "lodash.clonedeep": "4.5.0", "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.0", + "lodash.merge": "4.6.1", "md5-hex": "2.0.0", - "semver": "5.4.1", + "semver": "5.5.0", "well-known-symbols": "1.0.0" }, "dependencies": { @@ -3907,9 +3644,9 @@ } }, "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "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": { @@ -3940,9 +3677,9 @@ } }, "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" + "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", @@ -3964,7 +3701,7 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -3982,7 +3719,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } } } @@ -4008,7 +3745,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.35" + "es5-ext": "0.10.42" } }, "dashdash": { @@ -4026,9 +3763,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" } @@ -4059,9 +3796,9 @@ "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=", + "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": { @@ -4088,10 +3825,31 @@ "isobject": "3.0.1" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "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" + } } } }, @@ -4103,7 +3861,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", @@ -4123,6 +3881,27 @@ "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" + } } } }, @@ -4158,31 +3937,15 @@ "requires": { "arrify": "1.0.1", "path-type": "3.0.0" - }, - "dependencies": { - "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" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } } }, "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "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", - "isarray": "1.0.0" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4219,9 +3982,9 @@ } }, "domutils": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz", - "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=", + "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", @@ -4250,7 +4013,7 @@ "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "stream-shift": "1.0.0" } }, @@ -4274,7 +4037,7 @@ "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", "requires": { "base64url": "2.0.0", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -4282,14 +4045,14 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", "requires": { - "core-js": "2.5.1", + "core-js": "2.5.5", "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=", + "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" @@ -4301,7 +4064,7 @@ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.1" + "core-js": "2.5.5" } }, "end-of-stream": { @@ -4334,13 +4097,14 @@ } }, "es5-ext": { - "version": "0.10.35", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", - "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "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" + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4356,7 +4120,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.42", "es6-symbol": "3.1.1" } }, @@ -4367,7 +4131,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", @@ -4381,7 +4145,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -4394,7 +4158,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35" + "es5-ext": "0.10.42" } }, "es6-weak-map": { @@ -4404,7 +4168,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } @@ -4434,16 +4198,16 @@ "dev": true }, "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "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.5.7" + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4451,51 +4215,58 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true - } - } - }, - "escope": { - "version": "3.6.0", + }, + "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.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, "eslint": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.9.0.tgz", - "integrity": "sha1-doedJ0BoJhsZH+Dy9Wx0wvQgjos=", + "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.2.5", + "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.3.0", - "concat-stream": "1.6.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", "cross-spawn": "5.1.0", "debug": "3.1.0", - "doctrine": "2.0.0", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", - "espree": "3.5.1", - "esquery": "1.0.0", - "estraverse": "4.2.0", + "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": "9.18.0", - "ignore": "3.3.6", + "globals": "11.5.0", + "ignore": "3.3.8", "imurmurhash": "0.1.4", "inquirer": "3.3.0", - "is-resolvable": "1.0.0", - "js-yaml": "3.10.0", - "json-stable-stringify": "1.0.1", + "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.4", + "lodash": "4.17.10", "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", @@ -4503,8 +4274,9 @@ "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.4.1", + "semver": "5.5.0", "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", "table": "4.0.2", @@ -4526,6 +4298,12 @@ "ms": "2.0.0" } }, + "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", @@ -4538,9 +4316,9 @@ } }, "eslint-config-prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.6.0.tgz", - "integrity": "sha1-8h2w67Q4rWePuYlGCXxLsZi+/Mw=", + "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" @@ -4560,16 +4338,16 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.6", + "ignore": "3.3.8", "minimatch": "3.0.4", - "resolve": "1.5.0", - "semver": "5.4.1" + "resolve": "1.7.1", + "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.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" @@ -4578,9 +4356,9 @@ } }, "eslint-plugin-prettier": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.3.1.tgz", - "integrity": "sha512-AV8shBlGN9tRZffj5v/f4uiQWlP3qiQ+lh+BhTqRLuKSyczx+HRWVkVZaf7dOmguxghAH1wftnou/JUEEChhGg==", + "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", @@ -4593,10 +4371,16 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", + "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", @@ -4605,7 +4389,7 @@ "requires": { "array-find": "1.0.0", "escallmatch": "1.5.0", - "escodegen": "1.9.0", + "escodegen": "1.9.1", "escope": "3.6.0", "espower-location-detector": "1.0.0", "espurify": "1.7.0", @@ -4621,11 +4405,22 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.0", + "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": { @@ -4634,7 +4429,7 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.2", + "is-url": "1.2.4", "path-is-absolute": "1.0.1", "source-map": "0.5.7", "xtend": "4.0.1" @@ -4646,27 +4441,43 @@ "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", "dev": true, "requires": { - "acorn": "5.1.2", + "acorn": "5.5.3", "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.0", - "empower-assert": "1.0.1", - "escodegen": "1.9.0", + "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.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", - "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "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.1.2", + "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": { @@ -4680,26 +4491,25 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", "requires": { - "core-js": "2.5.1" + "core-js": "2.5.5" } }, "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "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.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "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", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4720,7 +4530,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35" + "es5-ext": "0.10.42" } }, "execa": { @@ -4739,12 +4549,35 @@ } }, "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "is-posix-bracket": "0.1.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", + "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": { @@ -4754,6 +4587,48 @@ "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": { @@ -4781,23 +4656,73 @@ } }, "external-editor": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", - "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", + "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": { - "iconv-lite": "0.4.19", - "jschardet": "1.5.1", + "chardet": "0.4.2", + "iconv-lite": "0.4.21", "tmp": "0.0.33" } }, "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "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", + "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": { @@ -4806,9 +4731,9 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "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", @@ -4817,345 +4742,84 @@ "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==", + "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.9" + "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": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "braces": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", - "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "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" - } - } - } - }, - "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" - } - }, - "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" - } - }, - "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==" - } - } - }, - "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" - } - } - } - }, - "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" - } - } - } - }, - "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" - } - } - } - }, - "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-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "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-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" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "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" + "is-extendable": "0.1.1" } } } }, - "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": "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": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", @@ -5200,6 +4864,16 @@ "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", "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": { @@ -5227,13 +4901,13 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "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.5", - "mime-types": "2.1.17" + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "formidable": { @@ -5257,7 +4931,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -5277,222 +4951,87 @@ "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==", + "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.7.0", - "node-pre-gyp": "0.6.39" + "nan": "2.10.0", + "node-pre-gyp": "0.9.1" }, "dependencies": { "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "version": "1.1.1", + "bundled": true, "dev": true, "optional": true }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "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=", + "bundled": true, "dev": true }, "aproba": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "version": "1.2.0", + "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": { "delegates": "1.0.0", - "readable-stream": "2.2.9" + "readable-stream": "2.3.6" } }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "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, - "optional": true + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "brace-expansion": { + "version": "1.1.11", + "bundled": true, "dev": true, - "optional": true + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "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=", - "dev": true, - "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=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "chownr": { + "version": "1.0.1", + "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 }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "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=", + "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=", - "dev": true - }, - "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" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "bundled": true, "dev": true, - "optional": true, - "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=", - "dev": true, - "optional": true - } - } + "optional": true }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "2.6.9", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5501,111 +5040,44 @@ }, "deep-extend": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "bundled": true, "dev": true, "optional": true }, - "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 - }, "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.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", - "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "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.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "version": "1.0.3", + "bundled": true, "dev": true, "optional": true }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "fs-minipass": { + "version": "1.2.5", + "bundled": true, "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "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", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "bundled": true, "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } + "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": { - "aproba": "1.1.1", + "aproba": "1.2.0", "console-control-strings": "1.1.0", "has-unicode": "2.0.1", "object-assign": "4.1.1", @@ -5615,30 +5087,11 @@ "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=", - "dev": true, - "optional": true, - "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=", - "dev": true, - "optional": 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, + "optional": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -5648,72 +5101,35 @@ "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=", - "dev": true - }, - "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, - "optional": 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, - "optional": true, - "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=", + "bundled": true, "dev": true, "optional": true }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "iconv-lite": { + "version": "0.4.21", + "bundled": true, "dev": true, + "optional": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "safer-buffer": "2.1.2" } }, - "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=", + "ignore-walk": { + "version": "3.0.1", + "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "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, "dev": true, + "optional": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -5721,150 +5137,63 @@ }, "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.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "version": "1.3.5", + "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.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "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, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": 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, - "optional": true - }, - "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, - "optional": true, - "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=", - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "bundled": true, "dev": true, "optional": true }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "minimatch": { + "version": "3.0.4", + "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", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } + "brace-expansion": "1.1.11" } }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "minimist": { + "version": "0.0.8", + "bundled": true, "dev": true }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "minipass": { + "version": "2.2.4", + "bundled": true, "dev": true, "requires": { - "mime-db": "1.27.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "minizlib": { + "version": "1.1.0", + "bundled": true, "dev": true, + "optional": true, "requires": { - "brace-expansion": "1.1.7" + "minipass": "2.2.4" } }, - "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=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -5872,46 +5201,68 @@ }, "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", + "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.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "version": "0.9.1", + "bundled": true, "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", + "detect-libc": "1.0.3", "mkdirp": "0.5.1", + "needle": "2.2.0", "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" + "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", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "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": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "version": "4.1.2", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5923,28 +5274,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 }, - "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, - "optional": 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.0.2" @@ -5952,22 +5293,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.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "version": "0.1.5", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5977,181 +5315,98 @@ }, "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 - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "bundled": true, "dev": true, "optional": true }, "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=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "version": "2.0.0", + "bundled": true, "dev": true, "optional": true }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.6", + "bundled": true, "dev": true, "optional": true, "requires": { "deep-extend": "0.4.2", - "ini": "1.3.4", + "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=", + "bundled": true, "dev": true, "optional": true } } }, "readable-stream": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "version": "2.3.6", + "bundled": true, "dev": true, + "optional": 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", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", "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=", - "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", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "bundled": true, "dev": true, + "optional": true, "requires": { "glob": "7.1.2" } }, "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "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.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "version": "5.5.0", + "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 }, - "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" - } - }, - "sshpk": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", - "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", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "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.1.0", @@ -6160,25 +5415,17 @@ } }, "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "version": "1.1.1", + "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "5.1.1" } }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, "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" @@ -6186,100 +5433,34 @@ }, "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": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", - "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", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "optional": true, - "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=", + "version": "4.4.1", + "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "5.0.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.1", + "yallist": "3.0.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 - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "bundled": true, "dev": true, "optional": true }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "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": { @@ -6288,8 +5469,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", + "bundled": true, "dev": true } } @@ -6306,6 +5491,16 @@ "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" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -6364,15 +5559,51 @@ "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": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "2.0.1" + "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": { @@ -6396,1058 +5627,871 @@ "dev": true }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, + "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", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "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.0", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.0.tgz", - "integrity": "sha512-sslPB7USGD8SrVUGlWFIGYVZrgZ6oj+fWUEW3f8Bk43+nxqeLyrNoI3iFBRpjLfwMCEYaXVziWNmatwLRP8azg==", + "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.9.7", + "google-auto-auth": "0.10.1", "google-proto-files": "0.15.1", - "grpc": "1.9.1", - "is-stream-ended": "0.1.3", - "lodash": "4.17.4", - "protobufjs": "6.8.0", + "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": { - "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" - } - }, "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "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", - "fast-glob": "2.2.0", "glob": "7.1.2", - "ignore": "3.3.6", + "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 }, - "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.5.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.3.2", - "request": "2.83.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==", + "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": { - "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.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.6", - "pify": "3.0.0", - "slash": "1.0.0" - } - } + "prepend-http": "2.0.0" } - }, - "grpc": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.9.1.tgz", - "integrity": "sha512-WNW3MWMuAoo63AwIlzFE3T0KzzvNBSvOkg67Hm8WhvHNkXFBlIk1QyJRE3Ocm0O5eIwS7JU8Ssota53QR1zllg==", - "requires": { - "lodash": "4.17.4", - "nan": "2.7.0", - "node-pre-gyp": "0.6.39", - "protobufjs": "5.0.2" - }, + } + } + }, + "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": { - "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=", + "version": "5.2.0", + "bundled": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "hoek": "4.2.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" - } - }, + } + } + }, + "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", - "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=" + "bundled": true } } }, - "gtoken": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.2.0.tgz", - "integrity": "sha512-tvQs8B1z5+I1FzMPZnq/OCuxTWFOkvy7cUJcpNdBOK2L7yEtPZTVCPtZU181sSDF+isUPebSqFTNTkIejFASAQ==", + "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": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.4", - "mime": "2.2.0", - "pify": "3.0.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, - "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qs": { + "version": "6.5.1", + "bundled": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, - "mime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", - "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==" + "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" + } }, - "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==" + "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" + } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "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.1", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } }, - "prepend-http": { + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true + "bundled": 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, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "sntp": { + "version": "2.1.0", + "bundled": true, "requires": { - "prepend-http": "2.0.0" + "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 } } }, - "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 + "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", @@ -7488,7 +6532,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.2.5", + "ajv": "5.5.2", "har-schema": "2.0.0" } }, @@ -7536,13 +6580,6 @@ "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=" - } } }, "has-values": { @@ -7554,24 +6591,6 @@ "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=", - "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" - } - } - } - }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -7595,8 +6614,8 @@ "requires": { "boom": "4.3.1", "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.0.2" + "hoek": "4.2.1", + "sntp": "2.1.0" } }, "he": { @@ -7606,9 +6625,9 @@ "dev": true }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + "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", @@ -7634,10 +6653,10 @@ "requires": { "domelementtype": "1.3.0", "domhandler": "2.4.1", - "domutils": "1.6.2", + "domutils": "1.7.0", "entities": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -7653,7 +6672,7 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "hullabaloo-config-manager": { @@ -7670,24 +6689,27 @@ "lodash.clonedeep": "4.5.0", "lodash.clonedeepwith": "4.5.0", "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.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" + "safe-buffer": "5.1.2" } }, "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 + "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.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.6.tgz", - "integrity": "sha512-HrxmNxKTGZ9a3uAl/FNG66Sdt0G9L4TtMbbUQjP1WhGmSj0FOyHvSgx7623aGJvXfPOur8MwmarlHT+37jmzlw==" + "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", @@ -7749,13 +6771,13 @@ "dev": true }, "ink-docstrap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.0.tgz", - "integrity": "sha1-6QBeW7kCXMmpvo5ErYf4rViIyB0=", + "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.19.1", - "sanitize-html": "1.14.1" + "moment": "2.22.1", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -7764,13 +6786,13 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.0.5", + "external-editor": "2.2.0", "figures": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.10", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", @@ -7780,12 +6802,6 @@ "through": "2.3.8" }, "dependencies": { - "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": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -7859,17 +6875,20 @@ "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==", + "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": "6.0.2" + "kind-of": "3.2.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==" + "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" + } } } }, @@ -7912,34 +6931,37 @@ } }, "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==", + "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": "6.0.2" + "kind-of": "3.2.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==" + "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": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "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": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -7970,10 +6992,9 @@ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "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 + "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", @@ -7999,12 +7020,11 @@ "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, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -8014,7 +7034,7 @@ "dev": true, "requires": { "global-dirs": "0.1.1", - "is-path-inside": "1.0.0" + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -8024,12 +7044,21 @@ "dev": true }, "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, + "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": { @@ -8075,18 +7104,18 @@ "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.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "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" @@ -8104,13 +7133,6 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "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=" - } } }, "is-posix-bracket": { @@ -8138,13 +7160,10 @@ "dev": true }, "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, - "requires": { - "tryit": "1.0.3" - } + "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", @@ -8159,9 +7178,9 @@ "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=" + "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", @@ -8169,9 +7188,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.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", "dev": true }, "is-utf8": { @@ -8197,13 +7216,9 @@ "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" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isstream": { "version": "0.1.2", @@ -8239,12 +7254,12 @@ "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "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.9", + "argparse": "1.0.10", "esprima": "4.0.0" } }, @@ -8263,12 +7278,6 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, - "jschardet": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", - "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", - "dev": true - }, "jsdoc": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", @@ -8281,7 +7290,7 @@ "escape-string-regexp": "1.0.5", "js2xmlparser": "3.0.0", "klaw": "2.0.0", - "marked": "0.3.6", + "marked": "0.3.19", "mkdirp": "0.5.1", "requizzle": "0.2.1", "strip-json-comments": "2.0.1", @@ -8325,13 +7334,11 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, - "json-stable-stringify": { + "json-stable-stringify-without-jsonify": { "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" - } + "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", @@ -8353,11 +7360,6 @@ "graceful-fs": "4.1.11" } }, - "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", @@ -8383,7 +7385,7 @@ "base64url": "2.0.0", "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.9", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -8393,7 +7395,7 @@ "requires": { "base64url": "2.0.0", "jwa": "1.1.5", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "keyv": { @@ -8406,12 +7408,9 @@ } }, "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" - } + "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", @@ -8475,6 +7474,14 @@ "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": { @@ -8488,9 +7495,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "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", @@ -8516,6 +7523,12 @@ "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", @@ -8540,15 +7553,27 @@ "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.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" + "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 }, "lolex": { "version": "2.3.2", @@ -8557,9 +7582,9 @@ "dev": true }, "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + "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", @@ -8593,10 +7618,9 @@ "dev": true }, "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, + "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" @@ -8609,14 +7633,6 @@ "dev": true, "requires": { "pify": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } } }, "map-cache": { @@ -8639,9 +7655,9 @@ } }, "marked": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", - "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", + "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": { @@ -8674,7 +7690,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -8744,6 +7760,27 @@ "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", @@ -8803,49 +7840,47 @@ "dev": true }, "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "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" } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "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.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "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.30.0" + "mime-db": "1.33.0" } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "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": { @@ -8859,7 +7894,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8897,9 +7932,9 @@ } }, "mocha": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.4.tgz", - "integrity": "sha512-nMOpAPFosU1B4Ix1jdhx5e3q7XO55ic5a8cgYvW27CequcEY+BabS0kUVL1Cw1V5PuVHZWeNRWFLmEPexo79VA==", + "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", @@ -8910,21 +7945,19 @@ "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": { - "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 - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "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" + } }, "supports-color": { "version": "4.4.0", @@ -8944,9 +7977,9 @@ "dev": true }, "moment": { - "version": "2.19.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz", - "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc=", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==", "dev": true }, "ms": { @@ -8993,9 +8026,9 @@ "dev": true }, "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" + "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", @@ -9014,23 +8047,6 @@ "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=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - } } }, "natural-compare": { @@ -9039,10 +8055,16 @@ "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==", + "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", @@ -9052,6 +8074,11 @@ "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", @@ -9060,7 +8087,7 @@ "requires": { "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", - "semver": "5.4.1", + "semver": "5.5.0", "validate-npm-package-license": "3.0.3" } }, @@ -9107,44 +8134,43 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nyc": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.2.1.tgz", - "integrity": "sha1-rYUK/p261/SXByi0suR/7Rw4chw=", + "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.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.6", "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.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.0.4", + "merge-source-map": "1.1.0", "micromatch": "2.3.11", "mkdirp": "0.5.1", "resolve-from": "2.0.0", - "rimraf": "2.6.1", + "rimraf": "2.6.2", "signal-exit": "3.0.2", - "spawn-wrap": "1.3.8", - "test-exclude": "4.1.1", - "yargs": "8.0.2", - "yargs-parser": "5.0.0" + "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=", + "bundled": true, "dev": true, "requires": { "kind-of": "3.2.2", @@ -9154,26 +8180,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" @@ -9181,14 +8203,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.1.0" @@ -9196,32 +8216,42 @@ }, "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", + "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 + }, + "assign-symbols": { + "version": "1.0.0", + "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.0", + "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", @@ -9230,9 +8260,8 @@ } }, "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "version": "6.26.1", + "bundled": true, "dev": true, "requires": { "babel-messages": "6.23.0", @@ -9240,15 +8269,14 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.4", + "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=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "6.26.0" @@ -9256,31 +8284,28 @@ }, "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.1", - "regenerator-runtime": "0.11.0" + "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=", + "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" + "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=", + "bundled": true, "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -9288,40 +8313,96 @@ "babel-runtime": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "debug": "2.6.8", + "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "invariant": "2.2.4", + "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=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.4", + "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": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "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", + "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.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "bundled": true, "dev": true, "requires": { "balanced-match": "1.0.0", @@ -9330,8 +8411,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.2", @@ -9341,14 +8421,35 @@ }, "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", + "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", - "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", @@ -9358,15 +8459,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": { @@ -9375,9 +8474,8 @@ } }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "1.1.3", + "bundled": true, "dev": true, "requires": { "ansi-styles": "2.2.1", @@ -9387,10 +8485,35 @@ "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", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -9401,8 +8524,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 } @@ -9410,48 +8532,60 @@ }, "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", + "bundled": true, + "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=", + "bundled": true, + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "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.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, "dev": true }, "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "version": "2.5.5", + "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", + "lru-cache": "4.1.2", "which": "1.3.0" } }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "2.6.9", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -9459,29 +8593,77 @@ }, "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", + "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" } }, + "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", - "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" @@ -9489,8 +8671,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" @@ -9498,20 +8679,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.1.0", @@ -9525,11 +8703,10 @@ "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", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -9538,8 +8715,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.1" @@ -9547,17 +8723,34 @@ }, "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" } }, + "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", - "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" @@ -9565,14 +8758,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", @@ -9584,8 +8775,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", @@ -9595,8 +8785,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" @@ -9604,14 +8793,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.2" @@ -9619,36 +8806,44 @@ }, "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" } }, + "fragment-cache": { + "version": "0.2.1", + "bundled": true, + "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=", + "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", + "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", @@ -9661,8 +8856,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", @@ -9671,8 +8865,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.1" @@ -9680,20 +8873,17 @@ }, "globals": { "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "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.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "version": "4.0.11", + "bundled": true, "dev": true, "requires": { "async": "1.5.2", @@ -9704,8 +8894,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": "1.0.1" @@ -9715,8 +8904,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.1.1" @@ -9724,26 +8912,76 @@ }, "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 }, + "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.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", + "version": "2.6.0", + "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", @@ -9752,14 +8990,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=", + "version": "2.2.4", + "bundled": true, "dev": true, "requires": { "loose-envify": "1.3.1" @@ -9767,41 +9003,68 @@ }, "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", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.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.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "version": "1.1.6", + "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" } }, + "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", - "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" @@ -9809,38 +9072,30 @@ }, "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" } }, "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" - } + "version": "2.0.0", + "bundled": true, + "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=", + "bundled": true, "dev": true, "requires": { "is-extglob": "1.0.0" @@ -9848,95 +9103,118 @@ }, "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" } }, + "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", - "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 + }, + "is-windows": { + "version": "1.0.2", + "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" } }, "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", + "version": "1.2.0", + "bundled": true, "dev": true }, "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha1-3WYH8DB2V4/n1vKmMM8UO0m6zdw=", + "version": "1.1.0", + "bundled": true, "dev": true, "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", + "version": "1.10.1", + "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.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.1.1", - "semver": "5.4.1" + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha1-8OVfVmVf+jQiIIC3oM1HYOFAX8k=", + "version": "1.1.3", + "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-coverage": "1.2.0", "mkdirp": "0.5.1", "path-parse": "1.0.5", "supports-color": "3.2.3" @@ -9944,8 +9222,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" @@ -9954,59 +9231,62 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha1-pv4ay6jOCO68Y45XLilNJnAIqgw=", + "version": "1.2.3", + "bundled": true, "dev": true, "requires": { - "debug": "2.6.8", - "istanbul-lib-coverage": "1.1.1", + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", "mkdirp": "0.5.1", - "rimraf": "2.6.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.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "version": "1.4.0", + "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.10" + "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=", + "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" + "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=", + "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" @@ -10014,8 +9294,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.11", @@ -10027,8 +9306,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", @@ -10037,47 +9315,54 @@ "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=", + "version": "4.17.5", + "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" } }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "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": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "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=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "0.1.1" @@ -10085,32 +9370,35 @@ }, "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.2.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=", + "version": "1.1.0", + "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } } }, "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", @@ -10129,30 +9417,45 @@ } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "version": "1.2.0", + "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.8" + "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=", + "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", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -10160,26 +9463,59 @@ }, "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", + "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", - "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.5.0", + "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "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=", + "bundled": true, "dev": true, "requires": { "remove-trailing-separator": "1.1.0" @@ -10187,8 +9523,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.1" @@ -10196,30 +9531,76 @@ }, "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", + "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", - "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" } }, + "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", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1.0.2" @@ -10227,8 +9608,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.8", @@ -10237,14 +9617,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", @@ -10254,29 +9632,33 @@ }, "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=", - "dev": true + "version": "1.2.0", + "bundled": true, + "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=", + "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "1.2.0" } }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, "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", @@ -10287,17 +9669,20 @@ }, "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" } }, + "pascalcase": { + "version": "0.1.1", + "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" @@ -10305,26 +9690,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.11", @@ -10334,20 +9715,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.4" @@ -10355,8 +9733,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.1.2" @@ -10364,8 +9741,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.1.0", @@ -10374,22 +9750,24 @@ } } }, + "posix-character-classes": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, "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": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "bundled": true, "dev": true, "requires": { "is-number": "3.0.0", @@ -10398,8 +9776,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.2.2" @@ -10407,30 +9784,27 @@ "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" + "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=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.5" + "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=", + "bundled": true, "dev": true, "requires": { "load-json-file": "1.1.0", @@ -10440,8 +9814,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.1.2", @@ -10450,8 +9823,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.1.0", @@ -10461,42 +9833,45 @@ } }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=", + "version": "0.11.1", + "bundled": true, "dev": true }, "regex-cache": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "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", - "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" @@ -10504,125 +9879,298 @@ }, "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", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "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" } }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "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": { - "glob": "7.1.2" + "kind-of": "3.2.2" } }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", - "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=", + "source-map": { + "version": "0.5.7", + "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=", + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "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" } }, - "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=", + "source-map-url": { + "version": "0.4.0", + "bundled": true, "dev": true }, "spawn-wrap": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.3.8.tgz", - "integrity": "sha1-+ip5uZDLsLsAGNymdI2INnsZ7DE=", + "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.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=", + "version": "3.0.0", + "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "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=", + "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", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "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", - "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", @@ -10631,20 +10179,12 @@ "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=", + "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" @@ -10652,65 +10192,345 @@ } } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "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": { - "ansi-regex": "2.1.1" + "kind-of": "3.2.2" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "to-regex": { + "version": "3.0.2", + "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, - "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": "sha1-TYSWSwlmsAh+zDNKLOAC09k0HiY=", + "to-regex-range": { + "version": "2.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" + "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" + } + } } }, - "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=", + "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": { @@ -10721,8 +10541,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": { @@ -10736,25 +10555,115 @@ }, "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", + "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.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "bundled": true, "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "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": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "bundled": true, "dev": true, "requires": { "isexe": "2.0.0" @@ -10762,37 +10671,40 @@ }, "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" }, "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", - "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", @@ -10804,14 +10716,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", @@ -10821,119 +10731,64 @@ }, "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": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "version": "11.1.0", + "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", + "cliui": "4.0.0", "decamelize": "1.2.0", + "find-up": "2.1.0", "get-caller-file": "1.0.2", "os-locale": "2.1.0", - "read-pkg-up": "2.0.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": "7.0.0" + "yargs-parser": "9.0.2" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "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": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "4.0.0", + "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", "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" - } - } - } - }, - "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" - } - }, - "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" - } - }, - "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" } }, - "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=", + "strip-ansi": { + "version": "4.0.0", + "bundled": true, "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "ansi-regex": "3.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "9.0.2", + "bundled": true, "dev": true, "requires": { "camelcase": "4.1.0" @@ -10942,18 +10797,16 @@ } }, "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "8.1.0", + "bundled": true, "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "4.1.0", + "bundled": true, "dev": true } } @@ -10989,37 +10842,12 @@ "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==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "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-buffer": "1.1.6" } } } @@ -11035,13 +10863,6 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "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=" - } } }, "object.omit": { @@ -11060,13 +10881,6 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "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=" - } } }, "observable-to-promise": { @@ -11112,7 +10926,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -11250,7 +11064,7 @@ "got": "6.7.1", "registry-auth-token": "3.3.2", "registry-url": "3.1.0", - "semver": "5.4.1" + "semver": "5.5.0" }, "dependencies": { "got": { @@ -11266,7 +11080,7 @@ "is-retry-allowed": "1.1.0", "is-stream": "1.1.0", "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "timed-out": "4.0.1", "unzip-response": "2.0.1", "url-parse-lax": "1.0.0" @@ -11284,6 +11098,23 @@ "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": { @@ -11358,12 +11189,11 @@ } }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "2.3.0" + "pify": "3.0.0" } }, "performance-now": { @@ -11372,24 +11202,23 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "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": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "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": "2.0.4" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -11423,12 +11252,6 @@ "error-ex": "1.3.1", "json-parse-better-errors": "1.0.2" } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true } } }, @@ -11461,10 +11284,29 @@ "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.4.4", - "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.4.4.tgz", - "integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=", + "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", @@ -11478,7 +11320,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.1", + "core-js": "2.5.5", "power-assert-context-traversal": "1.1.1" } }, @@ -11489,16 +11331,9 @@ "requires": { "acorn": "4.0.13", "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.1", + "core-js": "2.5.5", "espurify": "1.7.0", "estraverse": "4.2.0" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } } }, "power-assert-context-traversal": { @@ -11506,7 +11341,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.1", + "core-js": "2.5.5", "estraverse": "4.2.0" } }, @@ -11515,7 +11350,7 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.1", + "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", @@ -11543,7 +11378,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.1", + "core-js": "2.5.5", "diff-match-patch": "1.0.0", "power-assert-renderer-base": "1.1.1", "stringifier": "1.3.0", @@ -11555,7 +11390,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.1", + "core-js": "2.5.5", "power-assert-renderer-base": "1.1.1", "power-assert-util-string-width": "1.1.1", "stringifier": "1.3.0" @@ -11596,9 +11431,9 @@ "dev": true }, "prettier": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", - "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", + "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", "dev": true }, "pretty-ms": { @@ -11626,9 +11461,9 @@ "dev": true }, "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=" + "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", @@ -11637,9 +11472,9 @@ "dev": true }, "protobufjs": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.0.tgz", - "integrity": "sha512-47Y49f5JN5Qsbxas2TyI2zFO8j9GpQAQm5thf54fr2O8qcP/jkIXYxmYx1hN2WQFAhESU1xpVn5NWVDBB8WFnw==", + "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", @@ -11652,8 +11487,8 @@ "@protobufjs/pool": "1.1.0", "@protobufjs/utf8": "1.1.0", "@types/long": "3.0.32", - "@types/node": "7.0.46", - "long": "3.2.0" + "@types/node": "8.10.11", + "long": "4.0.0" } }, "proxyquire": { @@ -11703,26 +11538,6 @@ "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", @@ -11735,12 +11550,12 @@ } }, "rc": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz", - "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=", + "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.4.2", + "deep-extend": "0.5.1", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" @@ -11763,6 +11578,23 @@ "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": { @@ -11776,16 +11608,16 @@ } }, "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==", + "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": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, @@ -11797,7 +11629,7 @@ "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "set-immediate-shim": "1.0.1" } }, @@ -11852,10 +11684,10 @@ "safe-regex": "1.1.0" } }, - "regexp-quote": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz", - "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=", + "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": { @@ -11875,8 +11707,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.6", - "safe-buffer": "5.1.1" + "rc": "1.2.7", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11885,7 +11717,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.6" + "rc": "1.2.7" } }, "regjsgen": { @@ -11938,32 +11770,32 @@ } }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "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", + "aws4": "1.7.0", "caseless": "0.12.0", - "combined-stream": "1.0.5", + "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.3.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.17", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "2.1.0", "qs": "6.5.1", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "uuid": "3.2.1" } }, "require-directory": { @@ -12118,9 +11950,9 @@ } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "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", @@ -12130,6 +11962,12 @@ "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", @@ -12137,20 +11975,27 @@ "dev": true }, "sanitize-html": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.14.1.tgz", - "integrity": "sha1-cw/6Ikm98YMz7/5FsoYXPJxa0Lg=", + "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", - "regexp-quote": "0.0.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.1", + "postcss": "6.0.22", + "srcset": "1.0.0", "xtend": "4.0.1" } }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "semver-diff": { @@ -12159,7 +12004,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.4.1" + "semver": "5.5.0" } }, "serialize-error": { @@ -12232,26 +12077,9 @@ "diff": "3.5.0", "lodash.get": "4.4.2", "lolex": "2.3.2", - "nise": "1.3.2", - "supports-color": "5.3.0", + "nise": "1.3.3", + "supports-color": "5.4.0", "type-detect": "4.0.8" - }, - "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 - }, - "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" - } - } } }, "slash": { @@ -12297,14 +12125,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", @@ -12320,57 +12140,6 @@ "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==" } } }, @@ -12392,10 +12161,31 @@ "is-descriptor": "1.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "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" + } } } }, @@ -12405,14 +12195,24 @@ "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.0.2", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", - "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } }, "sort-keys": { @@ -12434,7 +12234,7 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "requires": { - "atob": "2.0.3", + "atob": "2.1.1", "decode-uri-component": "0.2.0", "resolve-url": "0.2.1", "source-map-url": "0.4.0", @@ -12442,12 +12242,21 @@ } }, "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==", + "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": { - "source-map": "0.5.7" + "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": { @@ -12501,10 +12310,20 @@ "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.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "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", @@ -12538,57 +12357,6 @@ "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==" } } }, @@ -12620,11 +12388,11 @@ } }, "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==", + "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.1" + "safe-buffer": "5.1.2" } }, "stringifier": { @@ -12632,7 +12400,7 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.1", + "core-js": "2.5.5", "traverse": "0.6.6", "type-name": "2.0.2" } @@ -12687,21 +12455,38 @@ "dev": true }, "superagent": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", - "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", + "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.1", + "form-data": "2.3.2", "formidable": "1.2.1", "methods": "1.1.2", - "mime": "1.4.1", + "mime": "1.6.0", "qs": "6.5.1", - "readable-stream": "2.3.3" + "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": { @@ -12712,7 +12497,7 @@ "requires": { "arrify": "1.0.1", "indent-string": "3.2.0", - "js-yaml": "3.10.0", + "js-yaml": "3.11.0", "serialize-error": "2.1.0", "strip-ansi": "4.0.0" }, @@ -12741,16 +12526,24 @@ "dev": true, "requires": { "methods": "1.1.2", - "superagent": "3.8.2" + "superagent": "3.8.3" } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "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": "2.0.0" + "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": { @@ -12765,10 +12558,10 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.2.5", - "ajv-keywords": "2.1.0", - "chalk": "2.3.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" }, @@ -12844,7 +12637,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "xtend": "4.0.1" } }, @@ -12881,6 +12674,16 @@ "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": { @@ -12901,22 +12704,12 @@ "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=", - "requires": { - "kind-of": "3.2.2" - } - } } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "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" } @@ -12944,18 +12737,12 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "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" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -13187,11 +12974,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -13202,13 +12984,13 @@ "dev": true }, "update-notifier": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.4.0.tgz", - "integrity": "sha1-+bTHAPv9TsEsgRWHJYd31WPYyGY=", + "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.3.0", + "chalk": "2.4.1", "configstore": "3.1.2", "import-lazy": "2.1.0", "is-ci": "1.1.0", @@ -13251,13 +13033,6 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "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==" - } } }, "util-deprecate": { @@ -13266,9 +13041,9 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "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", @@ -13417,12 +13192,6 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true } } }, From 5e00cf8c83317753e5f1d01f194b8a6899d4f2b2 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 May 2018 15:10:55 -0700 Subject: [PATCH 055/418] chore: test on node10 (#35) --- .../.circleci/config.yml | 56 +++++++------------ 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index f33d400420d..03d9d671d71 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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: /.*/ @@ -79,14 +85,15 @@ 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: | 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 - run: name: Run unit tests. command: npm test @@ -106,22 +113,18 @@ jobs: docker: - image: 'node:9' steps: *unit_tests_steps + node10: + docker: + - image: 'node:10' + steps: *unit_tests_steps lint: docker: - image: 'node:8' 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 - npm link - - run: + - run: *npm_install_and_link + - run: &samples_npm_install_and_link name: Link the module being tested to the samples. command: | cd samples/ @@ -137,14 +140,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 @@ -160,22 +156,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: | - 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 - - run: - name: Link the module being tested to the samples. - command: | - cd samples/ - npm link @google-cloud/video-intelligence - npm install - cd .. + - run: *npm_install_and_link + - run: *samples_npm_install_and_link - run: name: Run sample tests. command: npm run samples-test From cbfcc5afc6f105b2e08a1462fe602b5d2fcd2a6d Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 8 May 2018 14:28:03 -0700 Subject: [PATCH 056/418] chore: lock files maintenance (#36) * chore: lock files maintenance * chore: lock files maintenance --- .../package-lock.json | 517 ++++-------------- 1 file changed, 116 insertions(+), 401 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 19a8376f1b3..479e4659dc0 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -1907,9 +1907,9 @@ "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": "8.10.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.12.tgz", + "integrity": "sha512-aRFUGj/f9JVA0qSQiCK9ebaa778mmqMIcy1eKnPktgfm9O6VsnIzzB5wJnjp9/jVrfm7fX1rr3OR1nndppGZUg==" }, "acorn": { "version": "4.0.13", @@ -2682,7 +2682,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" @@ -2829,7 +2829,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", @@ -2853,7 +2853,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" } }, @@ -3206,7 +3206,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" @@ -3677,9 +3677,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", @@ -4007,9 +4007,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", @@ -4045,7 +4045,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" } }, @@ -4064,7 +4064,7 @@ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.5" + "core-js": "2.5.6" } }, "end-of-stream": { @@ -4491,7 +4491,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": { @@ -4662,7 +4662,7 @@ "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.21", + "iconv-lite": "0.4.22", "tmp": "0.0.33" } }, @@ -4749,7 +4749,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" } }, @@ -5670,12 +5670,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", @@ -5771,13 +5771,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": { @@ -5785,16 +5785,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 @@ -5811,52 +5801,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, @@ -5865,25 +5813,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 @@ -5896,29 +5833,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, @@ -5927,11 +5841,7 @@ } }, "deep-extend": { - "version": "0.4.2", - "bundled": true - }, - "delayed-stream": { - "version": "1.0.0", + "version": "0.5.1", "bundled": true }, "delegates": { @@ -5942,66 +5852,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, @@ -6016,13 +5877,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, @@ -6035,47 +5889,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": { @@ -6101,67 +5927,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, @@ -6179,20 +5974,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": { @@ -6203,6 +6007,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, @@ -6217,10 +6033,6 @@ "version": "1.0.1", "bundled": true }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true - }, "object-assign": { "version": "4.1.1", "bundled": true @@ -6252,10 +6064,6 @@ "version": "1.0.1", "bundled": true }, - "performance-now": { - "version": "2.1.0", - "bundled": true - }, "process-nextick-args": { "version": "2.0.0", "bundled": true @@ -6271,19 +6079,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" @@ -6302,34 +6102,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, @@ -6341,6 +6113,10 @@ "version": "5.1.1", "bundled": true }, + "sax": { + "version": "1.2.4", + "bundled": true + }, "semver": { "version": "5.5.0", "bundled": true @@ -6353,27 +6129,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, @@ -6390,10 +6145,6 @@ "safe-buffer": "5.1.1" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, @@ -6406,68 +6157,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", - "bundled": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", + "version": "4.4.2", "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, @@ -6478,6 +6189,10 @@ "wrappy": { "version": "1.0.2", "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true } } }, @@ -6698,9 +6413,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" @@ -7829,9 +7544,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==" }, "methods": { "version": "1.1.2", @@ -11320,7 +11035,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" } }, @@ -11331,7 +11046,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" } @@ -11341,7 +11056,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" } }, @@ -11350,7 +11065,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", @@ -11378,7 +11093,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", @@ -11390,7 +11105,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" @@ -11487,7 +11202,7 @@ "@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" } }, @@ -11513,9 +11228,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", @@ -11790,7 +11505,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", @@ -12400,7 +12115,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" } @@ -12468,7 +12183,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 b475493728da31b05b2bfc62dee6077309f36f51 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 16 May 2018 16:52:46 -0700 Subject: [PATCH 057/418] chore: timeout for system test (#37) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 9ea8dafa562..f5826cb3b24 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -49,7 +49,7 @@ "lint": "repo-tools lint --cmd eslint -- src/ samples/ test/", "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js 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 ce70d9f4af0d702719beb85af2dae74d5a9bc6b7 Mon Sep 17 00:00:00 2001 From: Rebecca Taylor Date: Mon, 21 May 2018 12:28:05 -0700 Subject: [PATCH 058/418] Update sample region tags (#39) --- packages/google-cloud-videointelligence/samples/quickstart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index a2297806e6c..d09c139caa8 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -15,7 +15,7 @@ 'use strict'; -// [START videointelligence_quickstart] +// [START video_quickstart] // Imports the Google Cloud Video Intelligence library const videoIntelligence = require('@google-cloud/video-intelligence'); @@ -77,4 +77,4 @@ client .catch(err => { console.error('ERROR:', err); }); -// [END videointelligence_quickstart] +// [END video_quickstart] From 79efc20381c8d32fa74a00da52e0a8e2069d62e5 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 22 May 2018 11:32:44 -0700 Subject: [PATCH 059/418] chore: lock files maintenance (#41) * chore: lock files maintenance * chore: lock files maintenance --- .../package-lock.json | 738 ++++++++---------- 1 file changed, 312 insertions(+), 426 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 479e4659dc0..6da4dc23e2a 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -1832,6 +1832,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", @@ -1894,7 +1899,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": { @@ -1907,9 +1912,9 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@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==" }, "acorn": { "version": "4.0.13", @@ -2253,9 +2258,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" } @@ -2345,7 +2350,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", @@ -2362,7 +2367,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", @@ -2461,7 +2466,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" } }, @@ -2684,7 +2689,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" } }, @@ -2960,11 +2965,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", @@ -2986,14 +2986,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", @@ -3208,7 +3200,7 @@ "requires": { "core-js": "2.5.6", "deep-equal": "1.0.1", - "espurify": "1.7.0", + "espurify": "1.8.0", "estraverse": "4.2.0" } }, @@ -3308,7 +3300,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", @@ -3506,13 +3498,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" } }, @@ -3560,9 +3552,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": { @@ -3637,7 +3629,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" @@ -3701,29 +3693,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", @@ -3926,9 +3900,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", @@ -3973,9 +3947,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" @@ -4032,11 +4006,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" } }, @@ -4382,9 +4355,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", @@ -4392,7 +4365,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", @@ -4446,7 +4419,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", @@ -4487,9 +4460,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" } @@ -4586,18 +4559,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" } @@ -4662,7 +4635,7 @@ "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.22", + "iconv-lite": "0.4.23", "tmp": "0.0.33" } }, @@ -4742,11 +4715,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", @@ -4827,7 +4801,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "pkg-dir": "2.0.0" } }, @@ -4859,9 +4833,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" }, @@ -4951,14 +4925,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": { @@ -5039,7 +5013,7 @@ } }, "deep-extend": { - "version": "0.4.2", + "version": "0.5.1", "bundled": true, "dev": true, "optional": true @@ -5217,7 +5191,7 @@ } }, "node-pre-gyp": { - "version": "0.9.1", + "version": "0.10.0", "bundled": true, "dev": true, "optional": true, @@ -5228,7 +5202,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" @@ -5326,12 +5300,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" @@ -5633,7 +5607,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", @@ -5641,16 +5615,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" } }, @@ -5659,10 +5633,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": { @@ -5765,9 +5739,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": { @@ -5778,7 +5752,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": { @@ -6069,9 +6043,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", @@ -6203,7 +6177,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" } @@ -6322,28 +6296,12 @@ "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", "dev": true }, - "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", @@ -6367,7 +6325,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", @@ -6413,9 +6371,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" @@ -7093,23 +7051,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" } }, @@ -7291,9 +7247,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": { @@ -7333,18 +7289,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" @@ -7384,6 +7340,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", @@ -7647,22 +7609,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" + "supports-color": "5.4.0" }, "dependencies": { "debug": { @@ -7673,15 +7635,6 @@ "requires": { "ms": "2.0.0" } - }, - "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" - } } } }, @@ -7784,7 +7737,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" } @@ -7849,9 +7802,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", @@ -7872,7 +7825,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", @@ -7922,12 +7875,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", @@ -7940,7 +7890,7 @@ "dev": true }, "array-unique": { - "version": "0.2.1", + "version": "0.3.2", "bundled": true, "dev": true }, @@ -7960,7 +7910,7 @@ "dev": true }, "atob": { - "version": "2.1.0", + "version": "2.1.1", "bundled": true, "dev": true }, @@ -7984,7 +7934,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" } @@ -8002,7 +7952,7 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -8015,7 +7965,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": { @@ -8031,7 +7981,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.4", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-types": { @@ -8041,7 +7991,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" } }, @@ -8125,13 +8075,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": { @@ -8285,7 +8252,7 @@ "dev": true }, "core-js": { - "version": "2.5.5", + "version": "2.5.6", "bundled": true, "dev": true }, @@ -8294,7 +8261,7 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "which": "1.3.0" } }, @@ -8421,7 +8388,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" } @@ -8429,19 +8396,35 @@ } }, "expand-brackets": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", + "version": "2.1.4", "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": { @@ -8464,28 +8447,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": { @@ -8511,14 +8554,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, @@ -8569,23 +8604,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, @@ -8772,29 +8790,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, @@ -8808,16 +8808,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": { @@ -8854,16 +8846,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, @@ -8890,12 +8872,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", @@ -9036,7 +9015,7 @@ } }, "lodash": { - "version": "4.17.5", + "version": "4.17.10", "bundled": true, "dev": true }, @@ -9054,7 +9033,7 @@ } }, "lru-cache": { - "version": "4.1.2", + "version": "4.1.3", "bundled": true, "dev": true, "requires": { @@ -9112,23 +9091,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": { @@ -9228,14 +9214,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, @@ -9289,15 +9267,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, @@ -9371,17 +9340,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, @@ -9470,53 +9428,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, @@ -9552,14 +9468,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, @@ -9569,11 +9477,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, @@ -9803,7 +9706,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", @@ -10459,7 +10362,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", @@ -10484,7 +10387,7 @@ "dev": true }, "cliui": { - "version": "4.0.0", + "version": "4.1.0", "bundled": true, "dev": true, "requires": { @@ -11047,7 +10950,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" } }, @@ -11094,7 +10997,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" @@ -11202,7 +11105,7 @@ "@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" } }, @@ -11244,23 +11147,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 } } }, @@ -11370,9 +11271,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": { @@ -11411,7 +11312,7 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", + "regenerate": "1.4.0", "regjsgen": "0.2.0", "regjsparser": "0.1.5" } @@ -11485,9 +11386,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", @@ -11497,7 +11398,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", @@ -11507,7 +11407,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" @@ -11791,7 +11690,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" @@ -11836,7 +11735,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": { @@ -11922,14 +11821,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", @@ -11945,9 +11836,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", @@ -11957,9 +11848,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", @@ -12120,11 +12011,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", @@ -12896,7 +12782,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 d591ebb4a851eba06b083830d0e489dd4eccfa8f Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Sun, 3 Jun 2018 20:53:01 -0700 Subject: [PATCH 060/418] =?UTF-8?q?Update=20nyc=20to=20the=20latest=20vers?= =?UTF-8?q?ion=20=F0=9F=9A=80=20(#42)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update nyc to version 12.0.1 * Update package.json --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f5826cb3b24..4984b5bfaf1 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -71,7 +71,7 @@ "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", "mocha": "^5.0.0", - "nyc": "^11.2.1", + "nyc": "^12.0.2", "power-assert": "^1.4.4", "prettier": "^1.11.1" } From 0109abe74c30dbf53b8deb7c37b5f17221dc0ad1 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 22 Jun 2018 07:41:57 -0700 Subject: [PATCH 061/418] fix: update all dependencies (#44) --- .../.circleci/config.yml | 3 +- .../package-lock.json | 5552 ++++++++--------- .../package.json | 24 +- .../samples/package.json | 10 +- 4 files changed, 2584 insertions(+), 3005 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 03d9d671d71..432bf5a939d 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -93,7 +93,6 @@ jobs: if ! test -x "$repo_tools"; then chmod +x "$repo_tools" fi - npm link - run: name: Run unit tests. command: npm test @@ -128,7 +127,7 @@ jobs: name: Link the module being tested to the samples. command: | cd samples/ - npm link @google-cloud/video-intelligence + npm link ../ npm install cd .. - run: diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 6da4dc23e2a..06f9101dfff 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/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,151 @@ "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=", + "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": { + "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.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": { @@ -77,7 +219,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/nodejs-repo-tools": { @@ -94,7 +236,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", @@ -114,9 +256,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": { @@ -137,33 +279,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": { @@ -171,9 +313,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": { @@ -196,7 +338,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -209,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -237,9 +379,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": { @@ -247,14 +389,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": { @@ -262,7 +404,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -270,8 +412,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": { @@ -279,11 +421,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": { @@ -291,15 +433,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": { @@ -307,10 +449,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": { @@ -328,7 +470,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -337,9 +479,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": { @@ -352,9 +494,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": { @@ -369,8 +511,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": { @@ -378,11 +520,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": { @@ -391,8 +533,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": { @@ -434,8 +576,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": { @@ -461,7 +603,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { @@ -469,7 +611,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -477,7 +619,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -495,13 +637,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": { @@ -509,9 +651,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" } } } @@ -521,7 +663,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -529,7 +671,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { @@ -537,7 +679,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { @@ -550,11 +692,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": { @@ -562,9 +704,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": { @@ -572,7 +714,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -585,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { @@ -593,8 +735,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": { @@ -617,12 +759,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": { @@ -630,8 +772,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": { @@ -639,7 +781,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -657,10 +799,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": { @@ -668,7 +810,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -678,7 +820,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -701,8 +843,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -715,7 +857,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -738,7 +880,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -751,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -769,7 +911,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -777,7 +919,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -785,7 +927,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -793,7 +935,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -844,7 +986,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -852,13 +994,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": { @@ -866,10 +1008,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": { @@ -877,7 +1019,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -887,11 +1029,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": { @@ -909,7 +1051,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -927,7 +1069,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -941,7 +1083,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -949,11 +1091,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": { @@ -961,8 +1103,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": { @@ -987,7 +1129,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -995,8 +1137,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { @@ -1004,7 +1146,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1017,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1025,7 +1167,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -1033,19 +1175,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": { @@ -1058,7 +1200,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1084,10 +1226,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": { @@ -1095,7 +1237,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -1103,7 +1245,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1121,8 +1263,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": { @@ -1130,7 +1272,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1138,8 +1280,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1152,9 +1294,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": { @@ -1172,7 +1314,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { @@ -1180,10 +1322,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": { @@ -1191,7 +1333,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -1199,7 +1341,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1222,9 +1364,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": { @@ -1242,7 +1384,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1250,7 +1392,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1258,8 +1400,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" } } } @@ -1279,8 +1421,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": { @@ -1288,7 +1430,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1296,7 +1438,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1306,7 +1448,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1316,9 +1458,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": { @@ -1326,8 +1468,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": { @@ -1335,8 +1477,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" } } } @@ -1351,7 +1493,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1374,7 +1516,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1398,7 +1540,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1406,7 +1548,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { @@ -1424,7 +1566,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -1452,12 +1594,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": { @@ -1465,7 +1607,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -1483,8 +1625,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": { @@ -1502,7 +1644,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -1512,7 +1654,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -1520,7 +1662,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -1538,11 +1680,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": { @@ -1561,9 +1703,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": { @@ -1572,9 +1714,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" } } @@ -1591,8 +1733,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": { @@ -1600,7 +1742,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -1624,8 +1766,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": { @@ -1633,9 +1775,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" } } } @@ -1650,9 +1792,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": { @@ -1670,18 +1812,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": { @@ -1689,9 +1831,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": { @@ -1699,9 +1841,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" } } } @@ -1713,7 +1855,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -1731,9 +1873,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" } }, "string-width": { @@ -1742,8 +1884,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": { @@ -1752,7 +1894,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -1761,18 +1903,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" } } } @@ -1783,10 +1925,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": { @@ -1801,9 +1943,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": { @@ -1812,7 +1954,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -1828,14 +1970,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", @@ -1862,8 +2004,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": { @@ -1912,14 +2054,14 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@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==" }, "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", @@ -1932,7 +2074,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -1948,10 +2090,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": { @@ -1966,9 +2108,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": { @@ -1977,7 +2119,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1994,7 +2136,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2015,8 +2157,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": { @@ -2025,7 +2167,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2047,7 +2189,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2056,8 +2198,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": { @@ -2066,7 +2208,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2081,9 +2223,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": { @@ -2092,7 +2234,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2101,7 +2243,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2116,7 +2258,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2125,7 +2267,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2134,19 +2276,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" } } } @@ -2157,7 +2299,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2215,7 +2357,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": { @@ -2238,8 +2380,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": { @@ -2262,7 +2404,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": { @@ -2282,9 +2424,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": { @@ -2293,89 +2435,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": { @@ -2393,17 +2535,27 @@ "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.0.0" + } + }, "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" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2424,7 +2576,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2433,7 +2585,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2444,11 +2596,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": { @@ -2466,8 +2618,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": { @@ -2476,9 +2628,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": { @@ -2493,11 +2645,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": { @@ -2514,25 +2666,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" } }, "babel-generator": { @@ -2541,14 +2693,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": { @@ -2565,9 +2717,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": { @@ -2576,10 +2728,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": { @@ -2588,9 +2740,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": { @@ -2599,11 +2751,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": { @@ -2612,8 +2764,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": { @@ -2622,8 +2774,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": { @@ -2632,9 +2784,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": { @@ -2643,11 +2795,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": { @@ -2656,8 +2808,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": { @@ -2666,7 +2818,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -2675,7 +2827,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -2684,13 +2836,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": { @@ -2723,9 +2875,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": { @@ -2734,7 +2886,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -2743,9 +2895,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": { @@ -2754,10 +2906,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": { @@ -2766,12 +2918,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": { @@ -2780,7 +2932,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -2789,9 +2941,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": { @@ -2800,9 +2952,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": { @@ -2811,9 +2963,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": { @@ -2822,8 +2974,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": { @@ -2832,13 +2984,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": { @@ -2847,7 +2999,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -2858,8 +3010,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": { @@ -2868,11 +3020,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": { @@ -2881,15 +3033,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": { @@ -2898,10 +3050,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": { @@ -2920,13 +3072,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": { @@ -2934,7 +3086,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": { @@ -2942,7 +3094,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": { @@ -2950,7 +3102,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": { @@ -2958,9 +3110,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" } } } @@ -2971,7 +3123,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -2992,13 +3144,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": { @@ -3025,8 +3177,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": { @@ -3035,7 +3187,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3045,7 +3197,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" } }, @@ -3054,16 +3206,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": { @@ -3071,7 +3223,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" } } } @@ -3094,9 +3246,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": { @@ -3110,7 +3262,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": { @@ -3125,15 +3277,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": { @@ -3165,9 +3317,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": { @@ -3176,7 +3328,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3185,9 +3337,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" } } } @@ -3198,10 +3350,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": { @@ -3220,7 +3372,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3240,8 +3392,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": { @@ -3261,7 +3413,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3271,8 +3423,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": { @@ -3281,9 +3433,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": { @@ -3298,15 +3450,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": { @@ -3315,7 +3467,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3330,7 +3482,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3352,10 +3504,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": { @@ -3363,7 +3515,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" } } } @@ -3392,7 +3544,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3407,8 +3559,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": { @@ -3429,8 +3581,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": { @@ -3439,7 +3591,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3455,9 +3607,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": { @@ -3466,7 +3618,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3480,7 +3632,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3489,7 +3641,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3504,7 +3656,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3513,23 +3665,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.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "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.3" + "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": { @@ -3548,7 +3700,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": { @@ -3585,10 +3737,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": { @@ -3597,17 +3749,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": { @@ -3616,7 +3768,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3627,12 +3779,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": { @@ -3648,9 +3800,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": { @@ -3664,14 +3816,14 @@ "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": { - "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", @@ -3684,7 +3836,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -3693,9 +3845,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": { @@ -3710,7 +3862,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -3719,7 +3871,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.42" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -3727,7 +3879,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": { @@ -3760,7 +3912,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -3770,9 +3922,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": { @@ -3786,8 +3938,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": { @@ -3795,8 +3947,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": { @@ -3804,7 +3956,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": { @@ -3812,7 +3964,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": { @@ -3820,9 +3972,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" } } } @@ -3833,13 +3985,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": { @@ -3848,12 +4000,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": { @@ -3874,7 +4026,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -3890,7 +4042,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -3909,8 +4061,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": { @@ -3919,7 +4071,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -3928,8 +4080,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": { @@ -3952,7 +4104,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -3961,8 +4113,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": { @@ -3971,7 +4123,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -3985,16 +4137,16 @@ "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": { - "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", @@ -4002,7 +4154,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4010,16 +4162,16 @@ "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": { - "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.5.6", - "empower-core": "0.6.2" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4028,16 +4180,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.5.6" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4045,7 +4197,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" } }, "entities": { @@ -4061,23 +4213,23 @@ "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" + "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.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4092,9 +4244,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": { @@ -4103,12 +4255,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": { @@ -4117,11 +4269,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": { @@ -4130,8 +4282,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": { @@ -4140,10 +4292,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": { @@ -4152,8 +4304,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": { @@ -4171,16 +4323,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.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": { @@ -4204,10 +4356,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": { @@ -4216,44 +4368,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": { @@ -4272,9 +4424,9 @@ } }, "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": { @@ -4283,7 +4435,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4294,7 +4446,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4311,19 +4463,19 @@ "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": { - "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" + "path-parse": "^1.0.5" } } } @@ -4334,8 +4486,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": { @@ -4344,8 +4496,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": { @@ -4360,16 +4512,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": { @@ -4378,11 +4530,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": { @@ -4391,7 +4543,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4402,37 +4554,29 @@ "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": { - "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.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" - }, - "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.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": { @@ -4441,16 +4585,8 @@ "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 - } + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -4464,7 +4600,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": { @@ -4473,7 +4609,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4482,7 +4618,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4502,8 +4638,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4512,13 +4648,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": { @@ -4526,13 +4662,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": { "define-property": { @@ -4540,7 +4676,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": { @@ -4548,7 +4684,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" } } } @@ -4559,7 +4695,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4568,11 +4704,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": { @@ -4581,7 +4717,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -4599,7 +4735,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4614,8 +4750,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": { @@ -4623,7 +4759,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" } } } @@ -4634,9 +4770,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": { @@ -4644,14 +4780,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": { @@ -4659,7 +4795,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": { @@ -4667,7 +4803,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": { @@ -4675,7 +4811,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": { @@ -4683,7 +4819,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": { @@ -4691,9 +4827,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" } } } @@ -4719,12 +4855,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": { @@ -4744,7 +4880,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -4753,8 +4889,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": { @@ -4769,8 +4905,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": { @@ -4778,10 +4914,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": { @@ -4789,7 +4925,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" } } } @@ -4800,9 +4936,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": { @@ -4811,7 +4947,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -4820,10 +4956,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": { @@ -4837,7 +4973,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" }, "dependencies": { "debug": { @@ -4861,7 +4997,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -4879,9 +5015,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": { @@ -4895,7 +5031,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": { @@ -4904,8 +5040,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": { @@ -4914,9 +5050,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": { @@ -4931,8 +5067,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": { @@ -4958,8 +5094,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": { @@ -4972,7 +5108,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5036,7 +5172,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5051,14 +5187,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": { @@ -5067,12 +5203,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": { @@ -5087,7 +5223,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -5096,7 +5232,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -5105,8 +5241,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5125,7 +5261,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5139,7 +5275,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5152,8 +5288,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": { @@ -5162,7 +5298,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5185,9 +5321,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": { @@ -5196,16 +5332,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": { @@ -5214,8 +5350,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5230,8 +5366,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": { @@ -5240,10 +5376,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": { @@ -5262,7 +5398,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5283,8 +5419,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": { @@ -5305,10 +5441,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": { @@ -5325,13 +5461,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": { @@ -5340,7 +5476,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5383,9 +5519,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": { @@ -5394,7 +5530,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5402,7 +5538,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5417,13 +5553,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": { @@ -5438,7 +5574,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -5470,8 +5606,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" } }, @@ -5509,7 +5645,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": { @@ -5517,12 +5653,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": { @@ -5531,8 +5667,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": { @@ -5541,7 +5677,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5556,7 +5692,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5566,8 +5702,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": { @@ -5575,7 +5711,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" } } } @@ -5591,7 +5727,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5605,27 +5741,27 @@ "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": { - "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.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "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": { @@ -5633,10 +5769,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": { @@ -5644,16 +5780,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": { @@ -5661,8 +5797,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": { @@ -5670,9 +5806,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": { @@ -5680,12 +5816,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" } } } @@ -5696,23 +5832,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": { @@ -5727,7 +5863,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5745,14 +5881,14 @@ "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.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "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", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { @@ -5768,11 +5904,11 @@ "bundled": true }, "are-we-there-yet": { - "version": "1.1.4", + "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": { @@ -5783,7 +5919,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5815,7 +5951,7 @@ } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true }, "delegates": { @@ -5830,7 +5966,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5841,26 +5977,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": { @@ -5868,22 +6004,25 @@ "bundled": true }, "iconv-lite": { - "version": "0.4.19", - "bundled": true + "version": "0.4.23", + "bundled": true, + "requires": { + "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": { @@ -5898,7 +6037,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5909,7 +6048,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5917,18 +6056,18 @@ "bundled": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5952,33 +6091,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": { @@ -5989,18 +6128,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": { @@ -6015,7 +6154,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -6030,8 +6169,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": { @@ -6047,44 +6186,48 @@ "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", + "version": "1.2.8", "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.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.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": { - "version": "5.1.1", + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", "bundled": true }, "sax": { @@ -6107,23 +6250,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": { @@ -6131,22 +6274,16 @@ "bundled": true }, "tar": { - "version": "4.4.2", + "version": "4.4.4", "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" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "bundled": true - } + "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": { @@ -6154,10 +6291,10 @@ "bundled": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -6175,11 +6312,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": { @@ -6188,10 +6325,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": { @@ -6206,7 +6343,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6221,8 +6358,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": { @@ -6231,7 +6368,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6258,7 +6395,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": { @@ -6266,9 +6403,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": { @@ -6276,8 +6413,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": { @@ -6285,7 +6422,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" } } } @@ -6308,8 +6445,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": { @@ -6324,12 +6461,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": { @@ -6343,9 +6480,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": { @@ -6354,20 +6491,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": { @@ -6376,13 +6513,13 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "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", @@ -6402,8 +6539,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": { @@ -6428,8 +6565,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": { @@ -6449,8 +6586,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": { @@ -6459,20 +6596,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": { @@ -6493,8 +6630,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": { @@ -6503,7 +6640,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -6514,7 +6651,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6523,8 +6660,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": { @@ -6533,7 +6670,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6552,7 +6689,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": { @@ -6560,7 +6697,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" } } } @@ -6577,7 +6714,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6591,7 +6728,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-ci": { @@ -6600,7 +6737,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6608,7 +6745,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": { @@ -6616,7 +6753,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" } } } @@ -6626,9 +6763,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": { @@ -6650,7 +6787,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6675,7 +6812,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6683,7 +6820,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": { @@ -6697,7 +6834,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": { @@ -6706,8 +6843,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": { @@ -6721,7 +6858,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": { @@ -6729,7 +6866,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" } } } @@ -6752,7 +6889,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-odd": { @@ -6760,7 +6897,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": { @@ -6782,7 +6919,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6791,7 +6928,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6805,7 +6942,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": { @@ -6898,14 +7035,35 @@ "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", "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": { @@ -6927,13 +7085,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.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -6942,7 +7100,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -6958,17 +7116,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": { @@ -7030,7 +7188,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -7057,7 +7215,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": { @@ -7065,8 +7223,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": { @@ -7089,7 +7247,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7098,7 +7256,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7107,7 +7265,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7122,7 +7280,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": { @@ -7131,8 +7289,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": { @@ -7141,10 +7299,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": { @@ -7161,8 +7319,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": { @@ -7247,9 +7405,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": { @@ -7269,7 +7427,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7278,8 +7436,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": { @@ -7293,8 +7451,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": { @@ -7303,7 +7461,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7322,7 +7480,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": { @@ -7332,12 +7490,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.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7352,7 +7510,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7367,7 +7525,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7376,16 +7534,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": { @@ -7394,8 +7552,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": { @@ -7404,11 +7562,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": { @@ -7423,7 +7581,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7432,9 +7590,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": { @@ -7455,7 +7613,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7464,9 +7622,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": { @@ -7475,8 +7633,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": { @@ -7485,7 +7643,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7502,7 +7660,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7521,19 +7679,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": { @@ -7551,7 +7709,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": { @@ -7571,7 +7729,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": { @@ -7585,8 +7743,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": { @@ -7594,7 +7752,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" } } } @@ -7645,9 +7803,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": { @@ -7661,7 +7819,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7670,7 +7828,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7681,10 +7839,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": { @@ -7703,18 +7861,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": { @@ -7730,16 +7888,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.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.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": { @@ -7753,10 +7911,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": { @@ -7765,7 +7923,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7774,9 +7932,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": { @@ -7793,7 +7951,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -7802,38 +7960,38 @@ "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.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", + "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.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": { @@ -7841,9 +7999,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": { @@ -7852,12 +8010,7 @@ "dev": true }, "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", + "version": "3.0.0", "bundled": true, "dev": true }, @@ -7866,7 +8019,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -7914,92 +8067,6 @@ "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, @@ -8010,13 +8077,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": { @@ -8024,7 +8091,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -8032,7 +8099,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8040,7 +8107,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8048,16 +8115,11 @@ "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": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, "kind-of": { "version": "6.0.2", "bundled": true, @@ -8070,7 +8132,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -8079,16 +8141,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": { @@ -8096,7 +8158,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8111,22 +8173,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" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } + "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": { @@ -8134,9 +8189,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": { @@ -8151,20 +8206,8 @@ "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" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { @@ -8172,10 +8215,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": { @@ -8183,13 +8226,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true } } }, @@ -8199,8 +8237,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": { @@ -8222,8 +8260,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": { @@ -8251,22 +8289,17 @@ "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" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { - "version": "2.6.9", + "version": "3.1.0", "bundled": true, "dev": true, "requires": { @@ -8293,7 +8326,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -8301,8 +8334,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": { @@ -8310,7 +8343,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8318,7 +8351,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8326,16 +8359,11 @@ "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": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, "kind-of": { "version": "6.0.2", "bundled": true, @@ -8343,44 +8371,26 @@ } } }, - "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" + "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" + "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": { @@ -8388,9 +8398,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" } } } @@ -8400,21 +8410,29 @@ "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": { - "version": "0.2.5", + "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" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8422,7 +8440,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8432,8 +8450,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": { @@ -8441,7 +8459,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8451,14 +8469,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": { @@ -8466,7 +8484,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8474,7 +8492,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8482,7 +8500,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8490,7 +8508,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8498,9 +8516,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": { @@ -8515,10 +8533,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": { @@ -8526,7 +8544,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8536,9 +8554,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": { @@ -8546,7 +8564,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -8559,8 +8577,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": { @@ -8568,7 +8586,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -8596,19 +8614,14 @@ "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": { - "version": "9.18.0", - "bundled": true, - "dev": true - }, "graceful-fs": { "version": "4.1.11", "bundled": true, @@ -8619,10 +8632,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": { @@ -8630,39 +8643,19 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } }, - "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 - } + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -8670,34 +8663,16 @@ "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", - "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" + "is-buffer": "^1.1.5" } } } @@ -8717,8 +8692,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -8726,14 +8701,6 @@ "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, @@ -8744,7 +8711,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -8762,7 +8729,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -8770,7 +8737,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -8778,9 +8745,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": { @@ -8795,14 +8762,6 @@ "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, @@ -8813,7 +8772,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -8821,7 +8780,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -8836,14 +8795,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } + "isobject": "^3.0.1" } }, "is-stream": { @@ -8886,21 +8838,7 @@ "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" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { @@ -8908,68 +8846,53 @@ "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", + "bundled": true, + "dev": true + }, "supports-color": { "version": "3.2.3", "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { - "version": "1.2.3", + "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" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "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.0", + "version": "1.4.1", "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, - "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" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -8983,7 +8906,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -8991,11 +8914,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": { @@ -9003,8 +8926,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": { @@ -9014,31 +8937,18 @@ } } }, - "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" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -9051,7 +8961,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -9059,7 +8969,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -9072,7 +8982,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -9080,7 +8990,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -9095,19 +9005,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": { @@ -9127,7 +9037,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -9140,8 +9050,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": { @@ -9149,7 +9059,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9172,30 +9082,20 @@ "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": { - "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, @@ -9208,10 +9108,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": { @@ -9219,7 +9119,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -9237,9 +9137,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": { @@ -9247,7 +9147,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9257,14 +9157,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } + "isobject": "^3.0.0" } }, "object.pick": { @@ -9272,14 +9165,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - } + "isobject": "^3.0.1" } }, "once": { @@ -9287,7 +9173,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -9295,8 +9181,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -9309,9 +9195,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": { @@ -9324,7 +9210,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9332,7 +9218,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -9345,7 +9231,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -9358,7 +9244,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9381,9 +9267,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": { @@ -9401,7 +9287,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -9409,7 +9295,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -9417,8 +9303,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" } } } @@ -9438,9 +9324,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": { @@ -9448,8 +9334,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": { @@ -9457,24 +9343,19 @@ "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", - "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" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -9487,14 +9368,6 @@ "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, @@ -9526,7 +9399,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -9534,7 +9407,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -9542,7 +9415,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -9560,10 +9433,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": { @@ -9571,7 +9444,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9581,7 +9454,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -9604,22 +9477,30 @@ "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": { + "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" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9627,7 +9508,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9637,9 +9518,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": { @@ -9647,7 +9528,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -9655,7 +9536,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9663,7 +9544,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9671,16 +9552,11 @@ "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": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, "kind-of": { "version": "6.0.2", "bundled": true, @@ -9693,7 +9569,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -9702,15 +9578,15 @@ "dev": true }, "source-map-resolve": { - "version": "0.5.1", + "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" + "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": { @@ -9723,12 +9599,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": { @@ -9736,8 +9612,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": { @@ -9750,8 +9626,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": { @@ -9764,7 +9640,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -9772,8 +9648,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": { @@ -9781,7 +9657,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9791,31 +9667,16 @@ "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" - } - } + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { - "version": "3.0.1", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -9823,7 +9684,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -9831,284 +9692,24 @@ "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" - } - } + "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": { - "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" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -10116,10 +9717,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": { @@ -10127,34 +9728,19 @@ "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" - } - } + "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" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -10163,9 +9749,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" } } @@ -10182,10 +9768,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": { @@ -10193,7 +9779,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -10201,10 +9787,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" } } } @@ -10214,8 +9800,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": { @@ -10223,9 +9809,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": { @@ -10242,11 +9828,6 @@ "version": "0.1.4", "bundled": true, "dev": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true } } }, @@ -10260,7 +9841,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -10275,16 +9856,16 @@ "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.0", + "version": "1.3.1", "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -10308,16 +9889,21 @@ "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", + "bundled": true, + "dev": true + }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -10325,9 +9911,17 @@ "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", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" } } } @@ -10342,9 +9936,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": { @@ -10362,25 +9956,20 @@ "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": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, "camelcase": { "version": "4.1.0", "bundled": true, @@ -10391,17 +9980,9 @@ "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" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { @@ -10409,7 +9990,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10419,7 +10000,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -10447,9 +10028,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": { @@ -10457,7 +10038,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": { @@ -10465,22 +10046,22 @@ "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" } } } }, "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", "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": { @@ -10489,8 +10070,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": { @@ -10498,7 +10079,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": { @@ -10507,8 +10088,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": { @@ -10517,7 +10098,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -10535,7 +10116,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -10544,7 +10125,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -10553,8 +10134,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": { @@ -10569,12 +10150,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": { @@ -10601,7 +10182,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": { @@ -10629,12 +10210,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": { @@ -10643,7 +10224,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -10652,7 +10233,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10667,10 +10248,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": { @@ -10679,10 +10260,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": { @@ -10691,17 +10272,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" } } } @@ -10712,10 +10293,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": { @@ -10730,7 +10311,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10741,7 +10322,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -10811,7 +10392,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": { @@ -10836,7 +10417,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -10845,8 +10426,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": { @@ -10855,10 +10436,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": { @@ -10867,8 +10448,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" } } } @@ -10879,7 +10460,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -10888,7 +10469,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -10903,14 +10484,14 @@ "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", - "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": { @@ -10922,45 +10503,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.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": { - "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.5.6", - "power-assert-context-traversal": "1.1.1" + "core-js": "^2.0.0", + "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.13", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.6", - "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": { - "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.5.6", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -10968,22 +10549,22 @@ "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": { - "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": { @@ -10992,42 +10573,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.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": { - "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.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.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": { @@ -11049,19 +10630,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.1", - "plur": "2.1.2" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -11094,19 +10674,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" } }, "proxyquire": { @@ -11115,9 +10695,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": { @@ -11141,9 +10721,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": { @@ -11152,9 +10732,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": { @@ -11166,15 +10746,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.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": { @@ -11191,9 +10771,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": { @@ -11202,7 +10782,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -11219,8 +10799,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": { @@ -11228,13 +10808,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": { @@ -11243,10 +10823,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": { @@ -11255,8 +10835,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": { @@ -11265,7 +10845,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -11288,7 +10868,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11296,8 +10876,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": { @@ -11312,9 +10892,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": { @@ -11323,8 +10903,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": { @@ -11333,7 +10913,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.7" + "rc": "^1.0.1" } }, "regjsgen": { @@ -11348,7 +10928,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -11357,7 +10937,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -11382,7 +10962,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -11390,26 +10970,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": { @@ -11436,8 +11016,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": { @@ -11454,7 +11034,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -11477,7 +11057,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11497,7 +11077,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -11506,8 +11086,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": { @@ -11527,7 +11107,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11536,7 +11116,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -11545,7 +11125,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -11560,7 +11140,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -11573,14 +11153,13 @@ "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": { "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", @@ -11594,16 +11173,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": { @@ -11618,7 +11197,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11644,10 +11223,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": { @@ -11655,7 +11234,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" } } } @@ -11666,7 +11245,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11687,13 +11266,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" } }, "slash": { @@ -11707,7 +11286,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": { @@ -11729,14 +11308,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": { "define-property": { @@ -11744,7 +11323,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": { @@ -11752,7 +11331,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" } } } @@ -11762,9 +11341,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": { @@ -11772,7 +11351,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": { @@ -11780,7 +11359,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": { @@ -11788,7 +11367,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": { @@ -11796,9 +11375,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" } } } @@ -11808,7 +11387,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": { @@ -11816,7 +11395,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" } } } @@ -11827,7 +11406,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -11840,11 +11419,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": { @@ -11853,8 +11432,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": { @@ -11876,8 +11455,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": { @@ -11892,8 +11471,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": { @@ -11907,7 +11486,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": { @@ -11922,23 +11501,24 @@ "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": { - "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.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", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -11952,8 +11532,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": { @@ -11961,7 +11541,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" } } } @@ -11988,9 +11568,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": { @@ -11998,7 +11578,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": { @@ -12006,9 +11586,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": { @@ -12016,7 +11596,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": { @@ -12031,7 +11611,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12046,7 +11626,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12061,16 +11641,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": { "debug": { @@ -12096,11 +11676,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": { @@ -12115,7 +11695,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12126,8 +11706,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": { @@ -12136,7 +11716,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -12159,12 +11739,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": { @@ -12185,8 +11765,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": { @@ -12195,7 +11775,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12212,7 +11792,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -12238,8 +11818,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": { @@ -12260,7 +11840,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -12274,7 +11854,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": { @@ -12282,7 +11862,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" } } } @@ -12292,10 +11872,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": { @@ -12303,8 +11883,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": { @@ -12312,7 +11892,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": { @@ -12343,7 +11923,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": { @@ -12358,7 +11938,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -12385,9 +11965,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": { @@ -12404,8 +11984,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" } }, @@ -12430,9 +12010,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" } } @@ -12479,10 +12059,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": { @@ -12490,7 +12070,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": { @@ -12498,10 +12078,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" } } } @@ -12512,7 +12092,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -12521,8 +12101,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" } }, @@ -12531,15 +12111,15 @@ "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": { - "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": { @@ -12547,8 +12127,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": { @@ -12556,9 +12136,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": { @@ -12590,16 +12170,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": { @@ -12613,7 +12193,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12633,7 +12213,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": { @@ -12652,8 +12232,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": { @@ -12661,9 +12241,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": { @@ -12673,12 +12253,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": { @@ -12693,7 +12273,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12714,8 +12294,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": { @@ -12724,7 +12304,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12745,8 +12325,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": { @@ -12760,7 +12340,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12769,9 +12349,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": { @@ -12780,12 +12360,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": { @@ -12797,13 +12377,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.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -12838,13 +12418,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": { @@ -12853,7 +12433,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4984b5bfaf1..4c736d3180d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,23 +56,23 @@ "dependencies": { "extend": "^3.0", "google-gax": "^0.16.0", - "lodash.merge": "^4.6.0", - "protobufjs": "^6.8.0" + "lodash.merge": "^4.6.1", + "protobufjs": "^6.8.6" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", - "async": "^2.5.0", - "codecov": "^3.0.0", - "eslint": "^4.9.0", - "eslint-config-prettier": "^2.6.0", - "eslint-plugin-node": "^6.0.0", - "eslint-plugin-prettier": "^2.3.1", - "ink-docstrap": "^1.3.0", + "async": "^2.6.1", + "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", + "mocha": "^5.2.0", "nyc": "^12.0.2", - "power-assert": "^1.4.4", - "prettier": "^1.11.1" + "power-assert": "^1.6.0", + "prettier": "^1.13.5" } } diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 7376ddae335..09f17d5149e 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,12 +15,12 @@ }, "dependencies": { "@google-cloud/video-intelligence": "1.2.0", - "long": "^3.2.0", - "safe-buffer": "5.1.1", - "yargs": "10.0.3" + "long": "^4.0.0", + "safe-buffer": "5.1.2", + "yargs": "11.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.2.3", - "ava": "0.23.0" + "@google-cloud/nodejs-repo-tools": "2.3.0", + "ava": "0.25.0" } } From d411769cb50835d85213a33002599154851e0892 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Jun 2018 17:12:46 -0700 Subject: [PATCH 062/418] fix: update linking for samples (#47) --- .../.circleci/config.yml | 3 +-- .../samples/package.json | 12 +++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 432bf5a939d..d37a6d00fc3 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -127,9 +127,8 @@ jobs: name: Link the module being tested to the samples. command: | cd samples/ - npm link ../ npm install - cd .. + npm link ../ - run: name: Run linting. command: npm run lint diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 09f17d5149e..d623bfdc12a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -6,7 +6,7 @@ "author": "Google Inc.", "repository": "googleapis/nodejs-video-intelligence", "engines": { - "node": ">=4.0.0" + "node": ">=6.0.0" }, "scripts": { "ava": "ava -T 20s --verbose test/*.test.js ./system-test/*.test.js", @@ -14,13 +14,11 @@ "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "1.2.0", - "long": "^4.0.0", - "safe-buffer": "5.1.2", - "yargs": "11.0.0" + "@google-cloud/video-intelligence": "^1.2.0", + "yargs": "^11.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.3.0", - "ava": "0.25.0" + "@google-cloud/nodejs-repo-tools": "^2.3.0", + "ava": "^0.25.0" } } From ecc72740bc15cff08184dd843a8f16ced7249494 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Jun 2018 22:50:55 -0700 Subject: [PATCH 063/418] refactor: drop repo-tool as an exec wrapper (#50) --- .../.circleci/config.yml | 7 +------ packages/google-cloud-videointelligence/package.json | 12 ++++++------ .../samples/package.json | 2 +- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index d37a6d00fc3..6f61feca505 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -87,12 +87,7 @@ jobs: fi - run: &npm_install_and_link name: Install and link the module. - 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 + command: npm install - run: name: Run unit tests. command: npm test diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4c736d3180d..3ee689a1287 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,14 +44,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/ test/", - "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js", + "lint": "eslint src/ samples/ test/", + "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js 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": { "extend": "^3.0", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index d623bfdc12a..733b3871f69 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -11,7 +11,7 @@ "scripts": { "ava": "ava -T 20s --verbose test/*.test.js ./system-test/*.test.js", "cover": "nyc --reporter=lcov --cache ava -T 20s --verbose test/*.test.js ./system-test/*.test.js && nyc report", - "test": "repo-tools test run --cmd ava -- -T 5m --verbose system-test/*.test.js" + "test": "ava -T 5m --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/video-intelligence": "^1.2.0", From abac88a77defa607027f67386e6c7475f3f3699e Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Tue, 26 Jun 2018 07:15:32 -0700 Subject: [PATCH 064/418] chore(package): update eslint to version 5.0.0 (#46) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3ee689a1287..c23bdd684bc 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -63,7 +63,7 @@ "@google-cloud/nodejs-repo-tools": "^2.3.0", "async": "^2.6.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 8082410517446c0aae8178fa8621504fdbdac0d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 27 Jun 2018 20:42:43 -0700 Subject: [PATCH 065/418] fix(deps): update dependency yargs to v12 (#53) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 733b3871f69..54dcb0160ba 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@google-cloud/video-intelligence": "^1.2.0", - "yargs": "^11.0.0" + "yargs": "^12.0.0" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", From 5e2884b874ab30e22396883da80d0be0901a53fc Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 28 Jun 2018 10:46:36 -0700 Subject: [PATCH 066/418] chore: check in synth script and update google-gax (#51) * chore: check in synth script * gen: regenerate library using synth tool * chore: update google-gax to 0.17.0 * codegen: remove unused mockSimpleGrpcMethod in tests via synth.py --- .../package-lock.json | 6519 +++++++++-------- .../package.json | 2 +- .../v1/video_intelligence.proto | 1 + .../v1beta1/video_intelligence.proto | 2 +- .../v1beta2/video_intelligence.proto | 10 +- .../v1p1beta1/video_intelligence.proto | 45 +- .../video_intelligence_service_smoke_test.js | 19 + .../v1/doc_video_intelligence.js | 4 +- .../doc/google/longrunning/doc_operations.js | 147 + .../src/v1/doc/google/protobuf/doc_any.js | 4 +- .../v1/doc/google/protobuf/doc_duration.js | 4 +- .../src/v1/doc/google/rpc/doc_status.js | 4 +- .../src/v1/index.js | 4 +- .../v1/video_intelligence_service_client.js | 34 +- .../v1beta1/doc_video_intelligence.js | 4 +- .../doc/google/longrunning/doc_operations.js | 147 + .../v1beta1/doc/google/protobuf/doc_any.js | 4 +- .../src/v1beta1/doc/google/rpc/doc_status.js | 4 +- .../src/v1beta1/index.js | 4 +- .../video_intelligence_service_client.js | 24 +- .../v1beta2/doc_video_intelligence.js | 11 +- .../doc/google/longrunning/doc_operations.js | 147 + .../v1beta2/doc/google/protobuf/doc_any.js | 4 +- .../doc/google/protobuf/doc_duration.js | 4 +- .../src/v1beta2/doc/google/rpc/doc_status.js | 4 +- .../src/v1beta2/index.js | 4 +- .../video_intelligence_service_client.js | 39 +- .../v1p1beta1/doc_video_intelligence.js | 53 +- .../doc/google/longrunning/doc_operations.js | 147 + .../video_intelligence_service_client.js | 6 +- .../google-cloud-videointelligence/synth.py | 43 + .../test/gapic-v1.js | 20 +- .../test/gapic-v1beta1.js | 14 +- .../test/gapic-v1beta2.js | 20 +- 34 files changed, 4409 insertions(+), 3093 deletions(-) create mode 100644 packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js create mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/synth.py diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 06f9101dfff..06f39d69aa5 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/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": { "debug": { @@ -200,9 +200,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": { @@ -219,7 +219,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/nodejs-repo-tools": { @@ -236,7 +236,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", @@ -256,9 +256,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": { @@ -279,268 +279,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 } @@ -548,41 +577,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" @@ -590,387 +626,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" @@ -978,67 +1069,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" @@ -1048,169 +1146,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" @@ -1218,505 +1338,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" } } @@ -1724,126 +1914,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" } } } @@ -1852,15 +2057,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 } } @@ -1873,9 +2080,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" } }, "string-width": { @@ -1884,8 +2091,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": { @@ -1894,7 +2101,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -1903,18 +2110,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" } } } @@ -1925,10 +2132,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": { @@ -1943,9 +2150,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": { @@ -1954,7 +2161,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -1970,8 +2177,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": { @@ -2004,8 +2211,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": { @@ -2068,49 +2275,27 @@ "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=", + "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": { - "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": { @@ -2119,7 +2304,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2136,7 +2321,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2157,8 +2342,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": { @@ -2167,7 +2352,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2189,7 +2374,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2198,8 +2383,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": { @@ -2208,7 +2393,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2223,9 +2408,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": { @@ -2234,7 +2419,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2243,7 +2428,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2258,7 +2443,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2267,7 +2452,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2276,19 +2461,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" } } } @@ -2299,7 +2484,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2357,7 +2542,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": { @@ -2380,19 +2565,21 @@ "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=" + "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", @@ -2403,8 +2590,9 @@ "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" + "lodash": "4.17.10" } }, "async-each": { @@ -2416,7 +2604,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", @@ -2435,89 +2624,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": { @@ -2542,7 +2731,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -2551,11 +2740,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": { @@ -2576,7 +2765,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2585,7 +2774,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2596,30 +2785,32 @@ "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": { "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", "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": { @@ -2628,9 +2819,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": { @@ -2645,11 +2836,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": { @@ -2666,25 +2857,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": { @@ -2693,14 +2884,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": { @@ -2717,9 +2908,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": { @@ -2728,10 +2919,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": { @@ -2740,9 +2931,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": { @@ -2751,11 +2942,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": { @@ -2764,8 +2955,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": { @@ -2774,8 +2965,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": { @@ -2784,9 +2975,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": { @@ -2795,11 +2986,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": { @@ -2808,8 +2999,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": { @@ -2818,7 +3009,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -2827,7 +3018,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -2836,13 +3027,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": { @@ -2875,9 +3066,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": { @@ -2886,7 +3077,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -2895,9 +3086,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": { @@ -2906,10 +3097,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": { @@ -2918,12 +3109,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": { @@ -2932,7 +3123,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -2941,9 +3132,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": { @@ -2952,9 +3143,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": { @@ -2963,9 +3154,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": { @@ -2974,8 +3165,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": { @@ -2984,13 +3175,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": { @@ -2999,7 +3190,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3010,8 +3201,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": { @@ -3020,11 +3211,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": { @@ -3033,15 +3224,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": { @@ -3050,10 +3241,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": { @@ -3072,13 +3263,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": { @@ -3086,7 +3277,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": { @@ -3094,7 +3285,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": { @@ -3102,7 +3293,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": { @@ -3110,9 +3301,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" } } } @@ -3121,9 +3312,10 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3144,13 +3336,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": { @@ -3177,8 +3369,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": { @@ -3187,7 +3379,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3197,7 +3389,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" } }, @@ -3206,16 +3398,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": { @@ -3223,7 +3415,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" } } } @@ -3262,7 +3454,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": { @@ -3277,15 +3469,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": { @@ -3317,9 +3509,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": { @@ -3328,7 +3520,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3337,9 +3529,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" } } } @@ -3350,10 +3542,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": { @@ -3372,7 +3564,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3392,8 +3584,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": { @@ -3405,7 +3597,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", @@ -3413,7 +3606,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3423,8 +3616,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": { @@ -3433,9 +3626,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": { @@ -3450,15 +3643,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": { @@ -3467,7 +3660,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3482,7 +3675,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3504,10 +3697,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": { @@ -3515,7 +3708,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" } } } @@ -3544,7 +3737,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3559,8 +3752,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": { @@ -3581,8 +3774,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": { @@ -3591,7 +3784,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3607,9 +3800,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": { @@ -3618,13 +3811,14 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "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=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "co-with-promise": { "version": "4.6.0", @@ -3632,7 +3826,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3641,7 +3835,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -3656,7 +3850,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3665,8 +3859,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": { @@ -3699,8 +3893,9 @@ "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" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3731,35 +3926,23 @@ "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.2.2", - "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.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": { @@ -3768,7 +3951,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -3779,12 +3962,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": { @@ -3816,8 +3999,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": { @@ -3836,7 +4019,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -3845,9 +4028,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": { @@ -3862,7 +4045,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -3871,15 +4054,16 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "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" + "assert-plus": "1.0.0" } }, "date-time": { @@ -3912,7 +4096,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -3938,8 +4122,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": { @@ -3947,8 +4131,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": { @@ -3956,7 +4140,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": { @@ -3964,7 +4148,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": { @@ -3972,9 +4156,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" } } } @@ -3985,13 +4169,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": { @@ -4000,12 +4184,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": { @@ -4026,7 +4210,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4034,7 +4218,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", @@ -4042,7 +4227,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4061,8 +4246,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": { @@ -4071,7 +4256,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4080,8 +4265,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": { @@ -4104,7 +4289,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4113,8 +4298,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": { @@ -4123,7 +4308,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4137,10 +4322,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": { @@ -4152,9 +4337,10 @@ "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" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4162,7 +4348,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": { @@ -4170,8 +4356,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": { @@ -4180,7 +4366,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -4189,7 +4375,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": { @@ -4197,7 +4383,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" } }, "entities": { @@ -4218,7 +4404,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": { @@ -4227,9 +4437,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": { @@ -4244,9 +4454,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": { @@ -4255,12 +4465,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": { @@ -4269,11 +4479,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": { @@ -4282,8 +4492,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": { @@ -4292,10 +4502,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": { @@ -4304,8 +4514,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": { @@ -4328,11 +4538,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": { @@ -4356,64 +4566,104 @@ "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" + } + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -4423,19 +4673,102 @@ "ms": "2.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.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" } } } @@ -4446,7 +4779,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4463,10 +4796,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": { @@ -4475,7 +4808,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4486,18 +4819,8 @@ "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", "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": { @@ -4512,16 +4835,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": { @@ -4530,11 +4853,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": { @@ -4543,7 +4866,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4554,10 +4877,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": { @@ -4566,27 +4889,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": { @@ -4600,7 +4913,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": { @@ -4609,7 +4922,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -4618,7 +4931,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4638,8 +4951,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -4648,13 +4961,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": { @@ -4662,13 +4975,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": { @@ -4676,7 +4989,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": { @@ -4684,7 +4997,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" } } } @@ -4695,7 +5008,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -4704,11 +5017,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": { @@ -4717,7 +5030,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -4735,7 +5048,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4750,8 +5063,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": { @@ -4759,7 +5072,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" } } } @@ -4770,9 +5083,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": { @@ -4780,14 +5093,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": { @@ -4795,7 +5108,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": { @@ -4803,7 +5116,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": { @@ -4811,7 +5124,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": { @@ -4819,7 +5132,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": { @@ -4827,9 +5140,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" } } } @@ -4837,12 +5150,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", @@ -4855,18 +5170,19 @@ "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": { "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", @@ -4880,7 +5196,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -4889,8 +5205,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": { @@ -4905,8 +5221,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": { @@ -4914,10 +5230,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": { @@ -4925,7 +5241,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" } } } @@ -4936,9 +5252,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": { @@ -4947,7 +5263,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -4956,10 +5272,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": { @@ -4973,7 +5289,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" }, "dependencies": { "debug": { @@ -4997,7 +5313,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -5008,16 +5324,18 @@ "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", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -5031,7 +5349,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": { @@ -5040,8 +5358,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": { @@ -5050,9 +5368,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": { @@ -5067,81 +5385,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": { @@ -5150,160 +5480,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" @@ -5311,145 +5661,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 } @@ -5457,138 +5824,161 @@ }, "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 } } }, + "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", @@ -5606,8 +5996,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" } }, @@ -5644,8 +6034,9 @@ "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" + "assert-plus": "1.0.0" } }, "glob": { @@ -5653,12 +6044,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": { @@ -5667,8 +6058,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": { @@ -5677,7 +6068,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -5692,7 +6083,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5702,8 +6093,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": { @@ -5711,7 +6102,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" } } } @@ -5727,7 +6118,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -5741,13 +6132,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": { @@ -5755,41 +6146,31 @@ "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==", - "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "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-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.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" + "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.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" } }, "google-p12-pem": { @@ -5797,33 +6178,18 @@ "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": { - "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.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", + "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "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" - } - } + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -5832,23 +6198,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": { @@ -5863,7 +6229,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -5885,10 +6251,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": { @@ -5907,8 +6273,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": { @@ -5919,7 +6285,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -5966,7 +6332,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -5977,26 +6343,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": { @@ -6007,22 +6373,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": { @@ -6037,7 +6403,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6048,7 +6414,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -6059,15 +6425,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": { @@ -6091,33 +6457,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": { @@ -6128,18 +6494,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": { @@ -6154,7 +6520,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6169,8 +6535,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": { @@ -6186,40 +6552,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": { @@ -6250,23 +6616,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": { @@ -6277,13 +6643,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": { @@ -6294,7 +6660,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6312,11 +6678,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": { @@ -6325,10 +6691,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": { @@ -6343,7 +6709,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6351,15 +6717,26 @@ "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.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": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -6368,7 +6745,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6389,13 +6766,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": { @@ -6403,9 +6786,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": { @@ -6413,8 +6796,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": { @@ -6422,7 +6805,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" } } } @@ -6445,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": { @@ -6461,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": { @@ -6479,10 +6862,11 @@ "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", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -6491,20 +6875,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": { @@ -6513,7 +6897,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -6539,8 +6923,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": { @@ -6565,8 +6949,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": { @@ -6586,63 +6970,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": { @@ -6651,7 +6980,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -6660,8 +6989,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": { @@ -6670,7 +6999,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6689,7 +7018,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": { @@ -6697,7 +7026,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" } } } @@ -6714,7 +7043,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6728,16 +7057,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": { @@ -6745,7 +7080,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": { @@ -6753,19 +7088,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": { @@ -6787,7 +7128,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -6812,7 +7153,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -6820,7 +7161,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": { @@ -6834,7 +7175,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": { @@ -6843,8 +7184,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": { @@ -6858,7 +7199,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": { @@ -6866,7 +7207,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" } } } @@ -6889,7 +7230,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -6897,7 +7238,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": { @@ -6919,7 +7260,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -6928,7 +7269,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -6942,7 +7283,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": { @@ -6969,6 +7310,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", @@ -6992,10 +7342,17 @@ "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=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-url": { "version": "1.2.4", @@ -7033,7 +7390,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.0", @@ -7052,8 +7410,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": { @@ -7062,8 +7420,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": { @@ -7090,8 +7448,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": { @@ -7100,13 +7458,14 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "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": { @@ -7116,17 +7475,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": { @@ -7158,12 +7517,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", @@ -7174,7 +7535,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", @@ -7188,13 +7550,14 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "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", @@ -7215,7 +7578,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": { @@ -7223,8 +7586,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": { @@ -7247,7 +7610,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7256,7 +7619,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7265,7 +7628,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7280,7 +7643,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": { @@ -7289,8 +7652,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": { @@ -7299,10 +7662,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": { @@ -7319,8 +7682,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": { @@ -7427,7 +7790,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7436,8 +7799,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": { @@ -7451,8 +7814,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": { @@ -7461,7 +7824,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -7480,7 +7843,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": { @@ -7495,7 +7858,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -7510,7 +7873,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -7525,7 +7888,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -7534,16 +7897,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": { @@ -7552,8 +7915,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": { @@ -7562,11 +7925,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": { @@ -7581,7 +7944,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -7590,9 +7953,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": { @@ -7613,7 +7976,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -7622,9 +7985,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": { @@ -7633,8 +7996,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": { @@ -7643,7 +8006,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -7660,7 +8023,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -7679,19 +8042,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": { @@ -7702,14 +8065,16 @@ "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==" + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true }, "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==", + "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -7729,7 +8094,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": { @@ -7743,8 +8108,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": { @@ -7752,7 +8117,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" } } } @@ -7819,7 +8184,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -7828,7 +8193,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -7839,10 +8204,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": { @@ -7861,18 +8226,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": { @@ -7887,17 +8252,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": { @@ -7911,10 +8282,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": { @@ -7923,7 +8294,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -7932,9 +8303,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": { @@ -7951,7 +8322,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -7965,286 +8336,318 @@ "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": { "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": "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.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": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "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": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "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": "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.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": "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" }, "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, + "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.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" } }, "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.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" } } } }, "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 } @@ -8252,55 +8655,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.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 }, "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.1" } }, "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" @@ -8308,120 +8720,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.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": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "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": "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.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.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": { "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" @@ -8429,644 +8855,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.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": "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.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "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" }, "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": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "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": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "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": "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.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": "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": { "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-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" } }, "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.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": "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", - "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 }, "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": "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" + "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": "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": { "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" + "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": "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.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": { "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.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": { "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" + "handlebars": "4.0.11" } }, "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 } } }, "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.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": "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.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": "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" }, "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" + "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": "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" @@ -9074,422 +9583,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.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "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" }, "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", - "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" } }, "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" + "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": "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.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" } } } }, "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.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": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "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": "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.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": "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" }, "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" @@ -9497,261 +10063,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.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": "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": { "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": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "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": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "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": "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.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.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.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": { "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.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": "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.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 }, "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.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": { "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": "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.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" } } @@ -9759,64 +10355,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" @@ -9826,186 +10429,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.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "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.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" } }, "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" } } } }, "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": "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" }, "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.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.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 } } @@ -10015,7 +10642,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", @@ -10028,9 +10656,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": { @@ -10038,7 +10666,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": { @@ -10046,7 +10674,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" } } } @@ -10061,7 +10689,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": { @@ -10070,8 +10698,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": { @@ -10079,7 +10707,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": { @@ -10088,8 +10716,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": { @@ -10098,7 +10726,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -10116,7 +10744,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -10125,7 +10753,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -10134,8 +10762,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": { @@ -10150,12 +10778,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": { @@ -10182,7 +10810,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": { @@ -10215,7 +10843,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10224,7 +10852,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -10233,7 +10861,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -10248,10 +10876,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": { @@ -10260,10 +10888,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": { @@ -10272,17 +10900,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" } } } @@ -10293,10 +10921,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": { @@ -10311,7 +10939,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -10322,7 +10950,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -10392,13 +11020,14 @@ "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": { "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", @@ -10417,7 +11046,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -10426,8 +11055,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": { @@ -10436,10 +11065,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": { @@ -10448,8 +11077,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" } } } @@ -10460,7 +11089,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -10469,7 +11098,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -10489,9 +11118,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": { @@ -10507,11 +11136,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": { @@ -10519,8 +11148,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": { @@ -10528,11 +11157,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": { @@ -10540,8 +11169,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": { @@ -10549,13 +11178,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": { @@ -10563,8 +11192,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": { @@ -10577,11 +11206,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": { @@ -10589,10 +11218,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": { @@ -10600,7 +11229,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": { @@ -10608,7 +11237,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": { @@ -10641,7 +11270,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -10674,19 +11303,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" } }, "proxyquire": { @@ -10695,9 +11324,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": { @@ -10708,12 +11337,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", @@ -10721,9 +11352,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": { @@ -10732,9 +11363,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": { @@ -10751,10 +11382,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": { @@ -10771,9 +11402,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": { @@ -10782,7 +11413,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -10799,8 +11430,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": { @@ -10808,13 +11439,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": { @@ -10823,10 +11454,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": { @@ -10835,8 +11466,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": { @@ -10845,7 +11476,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -10868,7 +11499,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -10876,8 +11507,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": { @@ -10892,9 +11532,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": { @@ -10903,8 +11543,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": { @@ -10913,7 +11553,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -10928,7 +11568,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -10937,7 +11577,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -10962,34 +11602,35 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "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.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": { @@ -11016,8 +11657,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": { @@ -11034,7 +11675,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11057,7 +11698,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11077,7 +11718,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11086,8 +11727,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": { @@ -11100,6 +11741,14 @@ "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", @@ -11107,7 +11756,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -11116,7 +11765,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -11125,22 +11774,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": { @@ -11153,13 +11804,14 @@ "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==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "samsam": { "version": "1.3.0", @@ -11173,16 +11825,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": { @@ -11197,7 +11849,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -11223,10 +11875,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": { @@ -11234,7 +11886,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" } } } @@ -11245,7 +11897,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11266,13 +11918,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" } }, "slash": { @@ -11286,7 +11938,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": { @@ -11308,14 +11960,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": { "define-property": { @@ -11323,7 +11975,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": { @@ -11331,7 +11983,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" } } } @@ -11341,9 +11993,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": { @@ -11351,7 +12003,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": { @@ -11359,7 +12011,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": { @@ -11367,7 +12019,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": { @@ -11375,9 +12027,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" } } } @@ -11387,7 +12039,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": { @@ -11395,7 +12047,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" } } } @@ -11406,7 +12058,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -11419,11 +12071,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": { @@ -11432,8 +12084,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": { @@ -11455,8 +12107,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": { @@ -11471,8 +12123,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": { @@ -11486,7 +12138,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": { @@ -11501,24 +12153,25 @@ "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.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", - "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": { @@ -11532,8 +12185,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": { @@ -11541,7 +12194,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" } } } @@ -11568,9 +12221,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.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": { @@ -11578,7 +12244,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": { @@ -11586,9 +12252,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": { @@ -11596,7 +12262,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": { @@ -11611,7 +12277,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11626,7 +12292,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -11641,16 +12307,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": { "debug": { @@ -11676,11 +12342,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": { @@ -11695,7 +12361,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11706,8 +12372,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": { @@ -11716,7 +12382,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -11733,53 +12399,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", @@ -11792,7 +12411,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -11818,8 +12437,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": { @@ -11840,7 +12459,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -11854,7 +12473,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": { @@ -11862,7 +12481,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" } } } @@ -11872,10 +12491,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": { @@ -11883,16 +12502,17 @@ "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": { "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" + "punycode": "1.4.1" } }, "traverse": { @@ -11922,14 +12542,16 @@ "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" + "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": { @@ -11938,7 +12560,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -11952,12 +12574,6 @@ "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", @@ -11965,9 +12581,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": { @@ -11984,8 +12600,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" } }, @@ -12010,9 +12626,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" } } @@ -12059,10 +12675,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": { @@ -12070,7 +12686,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": { @@ -12078,10 +12694,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" } } } @@ -12092,7 +12708,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -12101,8 +12717,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" } }, @@ -12111,9 +12727,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": { @@ -12127,8 +12743,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": { @@ -12136,9 +12752,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": { @@ -12170,16 +12786,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": { @@ -12193,7 +12826,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -12213,7 +12846,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": { @@ -12224,7 +12857,8 @@ "uuid": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true }, "validate-npm-package-license": { "version": "3.0.3", @@ -12232,18 +12866,19 @@ "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": { "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", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -12258,7 +12893,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12273,7 +12908,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12294,8 +12929,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": { @@ -12304,7 +12939,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12325,8 +12960,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": { @@ -12340,7 +12975,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -12349,9 +12984,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": { @@ -12360,12 +12995,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": { @@ -12382,8 +13017,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": { @@ -12418,13 +13053,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": { @@ -12433,7 +13068,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index c23bdd684bc..2e5de44062d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.16.0", + "google-gax": "^0.17.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index bef5f692a5b..67d9168ff94 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -27,6 +27,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligen option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1"; +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1"; // Service that implements Google Cloud Video Intelligence API. diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto index 0b9703462d7..9ec2a5e9f57 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto @@ -26,7 +26,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligen option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1beta1"; - +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index b7ff5af6a2e..6099e97d545 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -22,11 +22,12 @@ import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; -option csharp_namespace = "Google.Cloud.VideoIntelligence.V1beta2"; +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1Beta2"; option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2;videointelligence"; option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1beta2"; +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta2"; // Service that implements Google Cloud Video Intelligence API. @@ -54,8 +55,9 @@ message AnnotateVideoRequest { // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; - // The video data bytes. Encoding: base64. If unset, the input video(s) - // should be specified via `input_uri`. If set, `input_uri` should be unset. + // The video data bytes. + // If unset, the input video(s) should be specified via `input_uri`. + // If set, `input_uri` should be unset. bytes input_content = 6; // Requested video annotation features. @@ -260,7 +262,7 @@ message FaceFrame { // Face annotation. message FaceAnnotation { - // Thumbnail of a representative face view (in JPEG format). Encoding: base64. + // Thumbnail of a representative face view (in JPEG format). bytes thumbnail = 1; // All video segments where a face was detected. diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 5eac9c456a0..24bdb8eeb87 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -86,8 +86,8 @@ message AnnotateVideoRequest { // Video context and/or feature-specific parameters. message VideoContext { // Video segments to annotate. The segments may overlap and are not required - // to be contiguous or span the whole video. If unspecified, each video - // is treated as a single segment. + // to be contiguous or span the whole video. If unspecified, each video is + // treated as a single segment. repeated VideoSegment segments = 1; // Config for LABEL_DETECTION. @@ -217,26 +217,9 @@ message ExplicitContentAnnotation { repeated ExplicitContentFrame frames = 1; } -// Normalized bounding box. -// The normalized vertex coordinates are relative to the original image. -// Range: [0, 1]. -message NormalizedBoundingBox { - // Left X coordinate. - float left = 1; - - // Top Y coordinate. - float top = 2; - - // Right X coordinate. - float right = 3; - - // Bottom Y coordinate. - float bottom = 4; -} - // Annotation results for a single video. message VideoAnnotationResults { - // Video file location in + // Output only. Video file location in // [Google Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; @@ -261,8 +244,8 @@ message VideoAnnotationResults { // Speech transcription. repeated SpeechTranscription speech_transcriptions = 11; - // If set, indicates an error. Note that for a single `AnnotateVideoRequest` - // some videos may succeed and some may fail. + // Output only. If set, indicates an error. Note that for a single + // `AnnotateVideoRequest` some videos may succeed and some may fail. google.rpc.Status error = 9; } @@ -276,18 +259,18 @@ message AnnotateVideoResponse { // Annotation progress for a single video. message VideoAnnotationProgress { - // Video file location in + // Output only. Video file location in // [Google Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; - // Approximate percentage processed thus far. - // Guaranteed to be 100 when fully processed. + // Output only. Approximate percentage processed thus far. Guaranteed to be + // 100 when fully processed. int32 progress_percent = 2; - // Time when the request was received. + // Output only. Time when the request was received. google.protobuf.Timestamp start_time = 3; - // Time of the most recent update. + // Output only. Time of the most recent update. google.protobuf.Timestamp update_time = 4; } @@ -324,6 +307,14 @@ message SpeechTranscriptionConfig { // *Optional* A means to provide context to assist the speech recognition. repeated SpeechContext speech_contexts = 4; + // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // This feature is only available in select languages. Setting this for + // requests in other languages has no effect at all. The default 'false' value + // does not add punctuation to result hypotheses. NOTE: "This is currently + // offered as an experimental service, complimentary to all users. In the + // future this may be exclusively available as a premium feature." + bool enable_automatic_punctuation = 5; + // *Optional* For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. repeated int32 audio_tracks = 6; diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js new file mode 100644 index 00000000000..443f0b35faf --- /dev/null +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.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'; + +describe('VideoIntelligenceServiceSmokeTest', () => { + $unhandledCase: LongRunningOptionalArrayMethod$ +}); diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 2ce772823f4..c882a671cc3 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.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-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index 21feb744243..f55fa17ff12 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js index 6c3cdb383e2..3ea5c376abb 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index be5e96ce26d..7122f1682e0 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/index.js b/packages/google-cloud-videointelligence/src/v1/index.js index d7d8fac5254..22af92ed0b9 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index e1b490cf4af..59a23d41e8f 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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, @@ -38,10 +38,10 @@ class VideoIntelligenceServiceClient { * @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. @@ -72,14 +72,14 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -96,7 +96,7 @@ class VideoIntelligenceServiceClient { 'google/cloud/videointelligence/v1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -265,10 +265,16 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; * * // Handle the operation using the promise pattern. - * client.annotateVideo({}) + * client.annotateVideo(request) * .then(responses => { * var operation = responses[0]; * var initialApiResponse = responses[1]; @@ -290,10 +296,16 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; * * // Handle the operation using the event emitter pattern. - * client.annotateVideo({}) + * client.annotateVideo(request) * .then(responses => { * var operation = responses[0]; * var initialApiResponse = responses[1]; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index 91410729ccc..2d10356f406 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index 1e99231c144..f55fa17ff12 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js index d0b375da9f6..7122f1682e0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js index 56bc66623a3..22af92ed0b9 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/index.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 40fe17b09c5..f2b6447aefd 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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, @@ -38,10 +38,10 @@ class VideoIntelligenceServiceClient { * @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. @@ -72,14 +72,14 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -96,7 +96,7 @@ class VideoIntelligenceServiceClient { 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -264,8 +264,9 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * var inputUri = ''; - * var features = []; + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; * var request = { * inputUri: inputUri, * features: features, @@ -294,8 +295,9 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * var inputUri = ''; - * var features = []; + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; * var request = { * inputUri: inputUri, * features: features, diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 2e416956811..0b6902adc13 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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, @@ -31,8 +31,9 @@ * in the request as `input_content`. If set, `input_content` should be unset. * * @property {string} inputContent - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. * * @property {number[]} features * Requested video annotation features. @@ -409,7 +410,7 @@ var FaceFrame = { * Face annotation. * * @property {string} thumbnail - * Thumbnail of a representative face view (in JPEG format). Encoding: base64. + * Thumbnail of a representative face view (in JPEG format). * * @property {Object[]} segments * All video segments where a face was detected. diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index 1e99231c144..f55fa17ff12 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js index 6b107097540..3ea5c376abb 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index d0b375da9f6..7122f1682e0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.js index 56bc66623a3..22af92ed0b9 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/index.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 8f883d670e5..5aa1e3e90fd 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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, @@ -38,10 +38,10 @@ class VideoIntelligenceServiceClient { * @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. @@ -72,14 +72,14 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -96,7 +96,7 @@ class VideoIntelligenceServiceClient { 'google/cloud/videointelligence/v1beta2/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -224,8 +224,9 @@ class VideoIntelligenceServiceClient { * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. * @param {number[]} [request.features] * Requested video annotation features. * @@ -264,10 +265,16 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; * * // Handle the operation using the promise pattern. - * client.annotateVideo({}) + * client.annotateVideo(request) * .then(responses => { * var operation = responses[0]; * var initialApiResponse = responses[1]; @@ -289,10 +296,16 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * + * var inputUri = 'gs://demomaker/cat.mp4'; + * var featuresElement = 'LABEL_DETECTION'; + * var features = [featuresElement]; + * var request = { + * inputUri: inputUri, + * features: features, + * }; * * // Handle the operation using the event emitter pattern. - * client.annotateVideo({}) + * client.annotateVideo(request) * .then(responses => { * var operation = responses[0]; * var initialApiResponse = responses[1]; diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index cb7f46595b6..bcd79fedc26 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -71,8 +71,8 @@ var AnnotateVideoRequest = { * * @property {Object[]} segments * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video - * is treated as a single segment. + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. * * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} * @@ -322,36 +322,11 @@ var ExplicitContentAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; -/** - * Normalized bounding box. - * The normalized vertex coordinates are relative to the original image. - * Range: [0, 1]. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @typedef NormalizedBoundingBox - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -var NormalizedBoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Annotation results for a single video. * * @property {string} inputUri - * Video file location in + * Output only. Video file location in * [Google Cloud Storage](https://cloud.google.com/storage/). * * @property {Object[]} segmentLabelAnnotations @@ -388,8 +363,8 @@ var NormalizedBoundingBox = { * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription} * * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. + * Output only. If set, indicates an error. Note that for a single + * `AnnotateVideoRequest` some videos may succeed and some may fail. * * This object should have the same structure as [Status]{@link google.rpc.Status} * @@ -423,20 +398,20 @@ var AnnotateVideoResponse = { * Annotation progress for a single video. * * @property {string} inputUri - * Video file location in + * Output only. Video file location in * [Google Cloud Storage](https://cloud.google.com/storage/). * * @property {number} progressPercent - * Approximate percentage processed thus far. - * Guaranteed to be 100 when fully processed. + * Output only. Approximate percentage processed thus far. Guaranteed to be + * 100 when fully processed. * * @property {Object} startTime - * Time when the request was received. + * Output only. Time when the request was received. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * * @property {Object} updateTime - * Time of the most recent update. + * Output only. Time of the most recent update. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * @@ -494,6 +469,14 @@ var AnnotateVideoProgress = { * * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p1beta1.SpeechContext} * + * @property {boolean} enableAutomaticPunctuation + * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * This feature is only available in select languages. Setting this for + * requests in other languages has no effect at all. The default 'false' value + * does not add punctuation to result hypotheses. NOTE: "This is currently + * offered as an experimental service, complimentary to all users. In the + * future this may be exclusively available as a premium feature." + * * @property {number[]} audioTracks * *Optional* For file formats, such as MXF or MKV, supporting multiple audio * tracks, specify up to two tracks. Default: track 0. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index ae1addfc141..f53fdcdcdc4 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -72,14 +72,14 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -96,7 +96,7 @@ class VideoIntelligenceServiceClient { 'google/cloud/videointelligence/v1p1beta1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py new file mode 100644 index 00000000000..feea5f557ae --- /dev/null +++ b/packages/google-cloud-videointelligence/synth.py @@ -0,0 +1,43 @@ +import synthtool as s +import synthtool.gcp as gcp +import logging +from pathlib import Path +import subprocess + +logging.basicConfig(level=logging.DEBUG) + +gapic = gcp.GAPICGenerator() + +versions = ['v1', 'v1beta1', 'v1beta2', 'v1p1beta1'] + +for version in versions: + library = gapic.node_library( + 'video-intelligence', version, + config_path="/google/cloud/videointelligence/" + f"artman_videointelligence_{version}.yaml") + + # skip index, protos, package.json, and README.md + s.copy( + library, + excludes=['package.json', 'README.md', 'src/index.js'], + ) + +# +# Generator emitted unused helper mockSimpleGrpcMethod, add a temporary +# s.replace to remove that function. +# ref: https://github.com/googleapis/gapic-generator/issues/2120 +# +s.replace( + 'test/gapic-*.js', + 'function mockSimpleGrpcMethod.*\n(.*\n)*?}\n', + '', +) + +# +# Node.js specific cleanup +# +subprocess.run(['npm', 'install']) + +# # prettify and lint +subprocess.run(['npm', 'run', 'prettier']) +subprocess.run(['npm', 'run', 'lint']) diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index bb83b5dd34c..e89b4cd7f0c 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/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, @@ -33,7 +33,13 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var request = {}; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; // Mock response var expectedResponse = {}; @@ -68,7 +74,13 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var request = {}; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index e2513e994d3..f9466adc897 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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, @@ -33,8 +33,9 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'inputUri1707300727'; - var features = []; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; var request = { inputUri: inputUri, features: features, @@ -73,8 +74,9 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'inputUri1707300727'; - var features = []; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; var request = { inputUri: inputUri, features: features, diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 8db670552e1..e628a89387d 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google Inc. 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, @@ -33,7 +33,13 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var request = {}; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; // Mock response var expectedResponse = {}; @@ -68,7 +74,13 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var request = {}; + var inputUri = 'gs://demomaker/cat.mp4'; + var featuresElement = 'LABEL_DETECTION'; + var features = [featuresElement]; + var request = { + inputUri: inputUri, + features: features, + }; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( From ae94b0dab3debbd92ae08991743580ff3d257d19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 2 Jul 2018 20:52:04 -0700 Subject: [PATCH 067/418] chore(deps): lock file maintenance (#54) --- .../package-lock.json | 6409 ++++++++--------- 1 file changed, 2969 insertions(+), 3440 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 06f39d69aa5..cf4bfff93e5 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/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": { "debug": { @@ -195,14 +195,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": { @@ -219,7 +219,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/nodejs-repo-tools": { @@ -236,7 +236,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", @@ -256,9 +256,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": { @@ -279,297 +279,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 } @@ -577,48 +548,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" @@ -626,442 +590,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" @@ -1069,74 +978,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" @@ -1146,191 +1048,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" @@ -1338,575 +1218,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" } } @@ -1914,141 +1724,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" } } } @@ -2057,17 +1852,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 } } @@ -2080,9 +1873,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" } }, "string-width": { @@ -2091,8 +1884,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": { @@ -2101,7 +1894,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -2110,18 +1903,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" } } } @@ -2132,10 +1925,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": { @@ -2150,9 +1943,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": { @@ -2161,7 +1954,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2177,8 +1970,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": { @@ -2211,8 +2004,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": { @@ -2275,27 +2068,42 @@ "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=", "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" + "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": { @@ -2304,7 +2112,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2321,7 +2129,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2342,8 +2150,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": { @@ -2352,7 +2160,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2374,7 +2182,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2383,8 +2191,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": { @@ -2393,7 +2201,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2408,9 +2216,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": { @@ -2419,7 +2227,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2428,7 +2236,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2443,7 +2251,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2452,7 +2260,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2461,19 +2269,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" } } } @@ -2484,7 +2292,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2542,7 +2350,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": { @@ -2565,8 +2373,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": { @@ -2592,7 +2400,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2624,89 +2432,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": { @@ -2731,7 +2539,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2740,11 +2548,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": { @@ -2765,7 +2573,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2774,7 +2582,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2785,11 +2593,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": { @@ -2809,8 +2617,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": { @@ -2819,9 +2627,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": { @@ -2836,11 +2644,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": { @@ -2857,25 +2665,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" } }, "babel-generator": { @@ -2884,14 +2692,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": { @@ -2908,9 +2716,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": { @@ -2919,10 +2727,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": { @@ -2931,9 +2739,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": { @@ -2942,11 +2750,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": { @@ -2955,8 +2763,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": { @@ -2965,8 +2773,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": { @@ -2975,9 +2783,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": { @@ -2986,11 +2794,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": { @@ -2999,8 +2807,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": { @@ -3009,7 +2817,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -3018,7 +2826,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -3027,13 +2835,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": { @@ -3066,9 +2874,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": { @@ -3077,7 +2885,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3086,9 +2894,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": { @@ -3097,10 +2905,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": { @@ -3109,12 +2917,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": { @@ -3123,7 +2931,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3132,9 +2940,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": { @@ -3143,9 +2951,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": { @@ -3154,9 +2962,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": { @@ -3165,8 +2973,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": { @@ -3175,13 +2983,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": { @@ -3190,7 +2998,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3201,8 +3009,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": { @@ -3211,11 +3019,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": { @@ -3224,15 +3032,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": { @@ -3241,10 +3049,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": { @@ -3263,13 +3071,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": { @@ -3277,7 +3085,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": { @@ -3285,7 +3093,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": { @@ -3293,7 +3101,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": { @@ -3301,21 +3109,21 @@ "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=", "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3336,13 +3144,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": { @@ -3369,8 +3177,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": { @@ -3379,7 +3187,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3389,7 +3197,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" } }, @@ -3398,16 +3206,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": { @@ -3415,7 +3223,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" } } } @@ -3454,7 +3262,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": { @@ -3469,15 +3277,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": { @@ -3509,9 +3317,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": { @@ -3520,7 +3328,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3529,9 +3337,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" } } } @@ -3542,10 +3350,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": { @@ -3564,7 +3372,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3584,8 +3392,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": { @@ -3606,7 +3414,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3616,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": { @@ -3626,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": { @@ -3643,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": { @@ -3660,7 +3468,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3675,7 +3483,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3697,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": { @@ -3708,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" } } } @@ -3737,7 +3545,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3752,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": { @@ -3774,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": { @@ -3784,7 +3592,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3800,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": { @@ -3811,7 +3619,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3826,7 +3634,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3835,7 +3643,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3850,7 +3658,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3859,8 +3667,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": { @@ -3895,7 +3703,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3932,17 +3740,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": { @@ -3951,7 +3759,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3962,12 +3770,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": { @@ -3999,8 +3807,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": { @@ -4019,7 +3827,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4028,9 +3836,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": { @@ -4045,7 +3853,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4054,7 +3862,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4063,7 +3871,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4096,7 +3904,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4122,8 +3930,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": { @@ -4131,8 +3939,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": { @@ -4140,7 +3948,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": { @@ -4148,7 +3956,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": { @@ -4156,9 +3964,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" } } } @@ -4169,13 +3977,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": { @@ -4184,12 +3992,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": { @@ -4210,7 +4018,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4227,7 +4035,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4246,8 +4054,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": { @@ -4256,7 +4064,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4265,8 +4073,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": { @@ -4289,7 +4097,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4298,8 +4106,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": { @@ -4308,7 +4116,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4322,10 +4130,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": { @@ -4340,7 +4148,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4348,7 +4156,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": { @@ -4356,8 +4164,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": { @@ -4366,7 +4174,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4375,7 +4183,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": { @@ -4383,7 +4191,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" } }, "entities": { @@ -4404,7 +4212,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -4413,11 +4221,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": { @@ -4426,9 +4234,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": { @@ -4437,9 +4245,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": { @@ -4454,9 +4262,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": { @@ -4465,12 +4273,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": { @@ -4479,11 +4287,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": { @@ -4492,8 +4300,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": { @@ -4502,10 +4310,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": { @@ -4514,8 +4322,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": { @@ -4538,11 +4346,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": { @@ -4566,10 +4374,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": { @@ -4578,73 +4386,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==", + "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" } }, - "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", @@ -4657,11 +4450,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" } }, "debug": { @@ -4673,26 +4466,6 @@ "ms": "2.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.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", @@ -4705,70 +4478,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" } } } @@ -4779,7 +4501,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4796,10 +4518,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": { @@ -4808,19 +4530,29 @@ "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.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": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4835,16 +4567,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": { @@ -4853,11 +4585,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": { @@ -4866,7 +4598,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4877,10 +4609,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": { @@ -4889,17 +4621,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": { @@ -4913,7 +4655,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": { @@ -4922,7 +4664,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4931,7 +4673,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4951,8 +4693,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4961,13 +4703,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": { @@ -4975,13 +4717,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": { "define-property": { @@ -4989,7 +4731,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": { @@ -4997,7 +4739,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" } } } @@ -5008,7 +4750,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -5017,11 +4759,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": { @@ -5030,7 +4772,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -5048,7 +4790,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5063,8 +4805,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": { @@ -5072,7 +4814,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" } } } @@ -5083,9 +4825,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": { @@ -5093,14 +4835,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": { @@ -5108,7 +4850,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": { @@ -5116,7 +4858,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": { @@ -5124,7 +4866,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": { @@ -5132,7 +4874,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": { @@ -5140,9 +4882,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" } } } @@ -5170,12 +4912,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": { @@ -5196,7 +4938,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5205,8 +4947,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": { @@ -5221,8 +4963,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": { @@ -5230,10 +4972,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": { @@ -5241,7 +4983,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" } } } @@ -5252,9 +4994,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": { @@ -5263,7 +5005,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -5272,10 +5014,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": { @@ -5289,7 +5031,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" }, "dependencies": { "debug": { @@ -5313,7 +5055,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5333,9 +5075,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.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5349,7 +5091,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": { @@ -5358,8 +5100,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": { @@ -5368,9 +5110,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": { @@ -5385,93 +5127,81 @@ "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": { "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": { - "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, "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", + "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, "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": { @@ -5480,180 +5210,160 @@ }, "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": { - "minipass": "2.2.4" + "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, "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": { - "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", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "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" + "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, "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": { - "safer-buffer": "2.1.2" + "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==", + "bundled": true, "dev": true, "optional": 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, "dev": true, "optional": 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 }, "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.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, "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.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 }, "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", - "yallist": "3.0.2" + "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==", + "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "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, "dev": true, "requires": { "minimist": "0.0.8" @@ -5661,162 +5371,145 @@ }, "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": { - "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": { "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": { - "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": { "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": { - "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, "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": { - "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, "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": { "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.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, "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": { - "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, "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": { - "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": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -5824,151 +5517,134 @@ }, "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": { - "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", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "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==", + "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.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==", + "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.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, "dev": 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, "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": { - "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": { "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": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "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 } } @@ -5996,8 +5672,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" } }, @@ -6036,7 +5712,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -6044,12 +5720,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": { @@ -6058,8 +5734,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": { @@ -6068,7 +5744,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -6083,7 +5759,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -6093,8 +5769,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": { @@ -6102,7 +5778,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" } } } @@ -6118,7 +5794,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -6132,13 +5808,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": { @@ -6146,13 +5822,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-gax": { @@ -6160,17 +5836,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" } }, "google-p12-pem": { @@ -6178,8 +5854,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": { @@ -6187,9 +5863,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": { @@ -6198,23 +5874,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": { @@ -6229,7 +5905,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -6251,10 +5927,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": { @@ -6273,8 +5949,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": { @@ -6285,7 +5961,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -6332,7 +6008,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -6343,26 +6019,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": { @@ -6373,22 +6049,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": { @@ -6403,7 +6079,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -6414,7 +6090,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6425,15 +6101,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": { @@ -6457,33 +6133,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": { @@ -6494,18 +6170,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": { @@ -6520,7 +6196,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -6535,8 +6211,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": { @@ -6552,40 +6228,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": { @@ -6616,23 +6292,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": { @@ -6643,13 +6319,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": { @@ -6660,7 +6336,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -6678,11 +6354,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": { @@ -6691,10 +6367,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": { @@ -6709,7 +6385,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6726,8 +6402,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -6736,7 +6412,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -6745,7 +6421,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6778,7 +6454,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": { @@ -6786,9 +6462,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": { @@ -6796,8 +6472,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": { @@ -6805,7 +6481,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" } } } @@ -6828,14 +6504,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": { @@ -6844,12 +6520,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": { @@ -6864,9 +6540,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "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": { @@ -6875,20 +6551,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": { @@ -6897,7 +6573,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6923,8 +6599,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": { @@ -6949,8 +6625,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": { @@ -6970,8 +6646,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": { @@ -6980,7 +6710,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6989,8 +6719,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": { @@ -6999,7 +6729,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -7018,7 +6748,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": { @@ -7026,7 +6756,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" } } } @@ -7043,7 +6773,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -7057,7 +6787,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -7072,7 +6802,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -7080,7 +6810,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": { @@ -7088,7 +6818,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" } } } @@ -7104,9 +6834,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": { @@ -7128,7 +6858,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -7153,7 +6883,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -7161,7 +6891,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": { @@ -7175,7 +6905,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": { @@ -7184,8 +6914,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": { @@ -7199,7 +6929,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": { @@ -7207,7 +6937,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" } } } @@ -7230,22 +6960,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": { @@ -7260,7 +6975,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -7269,7 +6984,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -7283,7 +6998,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": { @@ -7316,7 +7031,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -7400,18 +7115,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": { @@ -7420,8 +7135,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": { @@ -7448,8 +7163,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": { @@ -7458,7 +7173,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -7475,17 +7190,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": { @@ -7550,7 +7265,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -7578,7 +7293,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": { @@ -7586,8 +7301,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": { @@ -7610,7 +7325,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7619,7 +7334,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7628,7 +7343,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7643,7 +7358,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": { @@ -7652,8 +7367,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": { @@ -7662,10 +7377,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": { @@ -7682,8 +7397,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": { @@ -7790,7 +7505,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7799,8 +7514,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": { @@ -7814,8 +7529,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": { @@ -7824,7 +7539,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7843,7 +7558,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": { @@ -7858,7 +7573,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7873,7 +7588,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7888,7 +7603,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7897,16 +7612,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": { @@ -7915,8 +7630,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": { @@ -7925,11 +7640,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": { @@ -7944,7 +7659,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7953,9 +7668,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": { @@ -7976,7 +7691,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7985,9 +7700,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": { @@ -7996,8 +7711,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": { @@ -8006,7 +7721,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -8023,7 +7738,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -8042,19 +7757,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": { @@ -8074,7 +7789,7 @@ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -8094,7 +7809,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": { @@ -8108,8 +7823,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": { @@ -8117,7 +7832,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" } } } @@ -8184,7 +7899,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -8193,7 +7908,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8204,10 +7919,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": { @@ -8222,22 +7937,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": { @@ -8264,11 +7978,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": { @@ -8282,10 +7996,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": { @@ -8294,7 +8008,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -8303,9 +8017,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": { @@ -8322,7 +8036,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8336,318 +8050,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.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", - "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 } @@ -8655,64 +8337,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" @@ -8720,134 +8393,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" @@ -8855,727 +8514,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" @@ -9583,479 +9159,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" @@ -10063,291 +9582,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" } } @@ -10355,71 +9844,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" @@ -10429,210 +9911,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 } } @@ -10656,9 +10114,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": { @@ -10666,7 +10124,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": { @@ -10674,7 +10132,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" } } } @@ -10689,7 +10147,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": { @@ -10698,8 +10156,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": { @@ -10707,7 +10165,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": { @@ -10716,8 +10174,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": { @@ -10726,7 +10184,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -10744,7 +10202,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -10753,7 +10211,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -10762,8 +10220,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": { @@ -10778,12 +10236,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": { @@ -10810,7 +10268,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": { @@ -10843,7 +10301,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10852,7 +10310,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -10861,7 +10319,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10876,10 +10334,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": { @@ -10888,10 +10346,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": { @@ -10900,17 +10358,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" } } } @@ -10921,10 +10379,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": { @@ -10939,7 +10397,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10950,7 +10408,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -11020,7 +10478,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": { @@ -11046,7 +10504,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -11055,8 +10513,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": { @@ -11065,10 +10523,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": { @@ -11077,8 +10535,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" } } } @@ -11089,7 +10547,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -11098,7 +10556,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -11118,9 +10576,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": { @@ -11136,11 +10594,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": { @@ -11148,8 +10606,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": { @@ -11157,11 +10615,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": { @@ -11169,8 +10627,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": { @@ -11178,13 +10636,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": { @@ -11192,8 +10650,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": { @@ -11206,11 +10664,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": { @@ -11218,10 +10676,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": { @@ -11229,7 +10687,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": { @@ -11237,7 +10695,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": { @@ -11259,9 +10717,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.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz", + "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==", "dev": true }, "pretty-ms": { @@ -11270,7 +10728,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -11303,19 +10761,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" } }, "proxyquire": { @@ -11324,9 +10782,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": { @@ -11352,9 +10810,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": { @@ -11363,9 +10821,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": { @@ -11382,10 +10840,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": { @@ -11402,9 +10860,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": { @@ -11413,7 +10871,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -11430,8 +10888,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": { @@ -11439,13 +10897,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": { @@ -11454,10 +10912,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": { @@ -11466,8 +10924,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": { @@ -11476,7 +10934,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -11499,7 +10957,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11507,8 +10965,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": { @@ -11517,7 +10975,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -11532,9 +10990,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": { @@ -11543,8 +11001,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": { @@ -11553,7 +11011,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -11568,7 +11026,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -11577,7 +11035,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -11602,7 +11060,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -11611,26 +11069,26 @@ "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.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": { @@ -11657,8 +11115,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": { @@ -11675,7 +11133,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -11698,7 +11156,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11718,7 +11176,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -11727,8 +11185,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": { @@ -11746,7 +11204,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": { @@ -11756,7 +11214,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11765,7 +11223,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -11774,7 +11232,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -11804,7 +11262,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": { @@ -11825,16 +11283,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": { @@ -11849,7 +11307,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11875,10 +11333,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": { @@ -11886,7 +11344,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" } } } @@ -11897,7 +11355,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11918,13 +11376,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" } }, "slash": { @@ -11938,7 +11396,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": { @@ -11960,14 +11418,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": { "define-property": { @@ -11975,7 +11433,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": { @@ -11983,7 +11441,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" } } } @@ -11993,9 +11451,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": { @@ -12003,7 +11461,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": { @@ -12011,7 +11469,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": { @@ -12019,7 +11477,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": { @@ -12027,9 +11485,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" } } } @@ -12039,7 +11497,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": { @@ -12047,7 +11505,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" } } } @@ -12058,7 +11516,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -12071,11 +11529,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": { @@ -12084,8 +11542,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": { @@ -12107,8 +11565,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": { @@ -12123,8 +11581,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": { @@ -12138,7 +11596,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": { @@ -12153,8 +11611,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": { @@ -12163,15 +11621,15 @@ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": 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", - "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": { @@ -12185,8 +11643,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": { @@ -12194,7 +11652,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" } } } @@ -12221,9 +11679,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": { @@ -12232,11 +11690,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": { @@ -12244,7 +11702,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": { @@ -12252,9 +11710,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": { @@ -12262,7 +11720,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": { @@ -12277,7 +11735,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12292,7 +11750,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12307,16 +11765,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": { "debug": { @@ -12342,11 +11800,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": { @@ -12361,7 +11819,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12372,8 +11830,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": { @@ -12382,7 +11840,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -12399,6 +11857,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.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.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", @@ -12411,7 +11940,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -12437,8 +11966,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": { @@ -12459,7 +11988,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -12473,7 +12002,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": { @@ -12481,7 +12010,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" } } } @@ -12491,10 +12020,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": { @@ -12502,8 +12031,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": { @@ -12512,7 +12041,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -12544,7 +12073,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12560,7 +12089,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -12581,9 +12110,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": { @@ -12600,8 +12129,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" } }, @@ -12626,9 +12155,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" } } @@ -12675,10 +12204,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": { @@ -12686,7 +12215,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": { @@ -12694,10 +12223,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" } } } @@ -12708,7 +12237,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -12717,8 +12246,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" } }, @@ -12727,9 +12256,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": { @@ -12743,8 +12272,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": { @@ -12752,9 +12281,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": { @@ -12786,16 +12315,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": { @@ -12804,7 +12333,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -12826,7 +12355,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12846,7 +12375,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": { @@ -12855,9 +12384,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.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "validate-npm-package-license": { @@ -12866,8 +12395,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": { @@ -12876,9 +12405,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.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -12893,7 +12422,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12908,7 +12437,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12929,8 +12458,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": { @@ -12939,7 +12468,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12960,8 +12489,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": { @@ -12975,7 +12504,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12984,9 +12513,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": { @@ -12995,12 +12524,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": { @@ -13017,8 +12546,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": { @@ -13053,13 +12582,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": { @@ -13068,7 +12597,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { From f44696c6edd383ab6a216044d0b157820dc669d3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 3 Jul 2018 09:40:40 -0700 Subject: [PATCH 068/418] chore(deps): lock file maintenance (#55) --- packages/google-cloud-videointelligence/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index cf4bfff93e5..d91e52bff05 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -6791,9 +6791,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 4530e01bd3b7eb37b8675c537d4e95e9cfe4a035 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 9 Jul 2018 19:35:09 -0700 Subject: [PATCH 069/418] chore(deps): lock file maintenance (#56) --- .../package-lock.json | 91 +++++++++++-------- 1 file changed, 54 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index d91e52bff05..19448f32085 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -2054,9 +2054,9 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@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==" }, "acorn": { "version": "5.7.1", @@ -3652,14 +3652,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.81.0", - "urlgrey": "0.4.4" + "argv": "^0.0.2", + "ignore-walk": "^3.0.1", + "request": "^2.87.0", + "urlgrey": "^0.4.4" } }, "collection-visit": { @@ -4381,9 +4382,9 @@ } }, "eslint": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.0.1.tgz", - "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", + "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", @@ -4393,6 +4394,7 @@ "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", @@ -4400,7 +4402,7 @@ "file-entry-cache": "^2.0.0", "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", - "globals": "^11.5.0", + "globals": "^11.7.0", "ignore": "^3.3.3", "imurmurhash": "^0.1.4", "inquirer": "^5.2.0", @@ -4536,9 +4538,9 @@ } }, "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.1", @@ -4555,6 +4557,12 @@ "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", @@ -5027,9 +5035,9 @@ "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==", + "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" }, @@ -5923,9 +5931,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", @@ -6139,7 +6147,7 @@ } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.10.2", "bundled": true, "requires": { "detect-libc": "^1.0.2", @@ -6148,7 +6156,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" @@ -6509,9 +6517,9 @@ } }, "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": { @@ -6587,6 +6595,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", @@ -7109,15 +7126,15 @@ "dev": true }, "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", @@ -7125,7 +7142,7 @@ "@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", + "istanbul-lib-coverage": "^2.0.1", "semver": "^5.5.0" } }, @@ -7483,9 +7500,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": { From 963b33cbd64a84a277748c03069b28a481eccf9e Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 9 Jul 2018 22:55:49 -0700 Subject: [PATCH 070/418] fix: drop support for node.js 4.x and 9.x (#57) * fix: drop support for node.js 4.x and 9.x * moar fixing --- .../.circleci/config.yml | 41 +++---------------- .../package.json | 2 +- 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 6f61feca505..5da78bb04e5 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -3,10 +3,6 @@ workflows: version: 2 tests: jobs: &workflow_jobs - - node4: - filters: - tags: - only: /.*/ - node6: filters: tags: @@ -15,30 +11,22 @@ workflows: filters: tags: only: /.*/ - - node9: - filters: - tags: - only: /.*/ - node10: filters: tags: only: /.*/ - lint: requires: - - node4 - node6 - node8 - - node9 - node10 filters: tags: only: /.*/ - docs: requires: - - node4 - node6 - node8 - - node9 - node10 filters: tags: @@ -69,9 +57,9 @@ workflows: only: master jobs: *workflow_jobs jobs: - node4: + node6: docker: - - image: 'node:4' + - image: 'node:6' steps: &unit_tests_steps - checkout - run: &remove_package_lock @@ -88,25 +76,12 @@ jobs: - run: &npm_install_and_link name: Install and link the module. 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 - node6: - docker: - - image: 'node:6' - steps: *unit_tests_steps + - run: npm test + - run: node_modules/.bin/codecov node8: docker: - image: 'node:8' steps: *unit_tests_steps - node9: - docker: - - image: 'node:9' - steps: *unit_tests_steps node10: docker: - image: 'node:10' @@ -167,9 +142,5 @@ jobs: - 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 + - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' + - run: npm publish diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2e5de44062d..1f9089ee0b0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/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-video-intelligence", "main": "src/index.js", From ffb12efe6a292db48cc9b11f8728a07d242ac2a9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 10 Jul 2018 08:07:27 -0700 Subject: [PATCH 071/418] chore(deps): lock file maintenance (#58) --- packages/google-cloud-videointelligence/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 19448f32085..00bfebfcd3f 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -4659,9 +4659,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 180ab5871125a3a809612282ab4d18189242f680 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 10 Jul 2018 09:41:30 -0700 Subject: [PATCH 072/418] chore(deps): lock file maintenance (#59) --- packages/google-cloud-videointelligence/package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 00bfebfcd3f..bbd6cd9b20e 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -7517,12 +7517,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 cb8c21da8d55fd857f25d0cd8e02888399ffd0eb Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 10 Jul 2018 13:00:14 -0700 Subject: [PATCH 073/418] chore(build): use `npm ci` instead of `npm install` (#60) --- packages/google-cloud-videointelligence/synth.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index feea5f557ae..c0d7c29a0aa 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -33,11 +33,7 @@ '', ) -# # Node.js specific cleanup -# -subprocess.run(['npm', 'install']) - -# # prettify and lint +subprocess.run(['npm', 'ci']) subprocess.run(['npm', 'run', 'prettier']) subprocess.run(['npm', 'run', 'lint']) From 4b05b92b114cf7c90d0b74e5a0f56a11445d5e86 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 16 Jul 2018 19:10:08 -0700 Subject: [PATCH 074/418] chore(deps): lock file maintenance (#63) --- .../package-lock.json | 1308 +++++++++++++---- 1 file changed, 1005 insertions(+), 303 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index bbd6cd9b20e..b28e3f880b1 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -223,25 +223,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": { @@ -250,6 +250,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", @@ -274,37 +280,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": { @@ -347,20 +353,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 }, @@ -369,11 +377,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, @@ -385,7 +403,7 @@ } }, "babel-generator": { - "version": "6.26.0", + "version": "6.26.1", "bundled": true, "dev": true, "requires": { @@ -395,7 +413,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" } }, @@ -465,8 +483,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": { @@ -475,13 +548,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": { @@ -489,6 +579,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, @@ -527,6 +633,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, @@ -551,11 +678,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, @@ -566,8 +707,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 }, @@ -598,6 +744,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, @@ -606,6 +757,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, @@ -659,44 +852,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": { @@ -722,21 +1010,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": { @@ -754,6 +1042,11 @@ "bundled": true, "dev": true }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, "glob": { "version": "7.1.2", "bundled": true, @@ -767,23 +1060,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, @@ -828,8 +1104,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 }, @@ -853,7 +1158,7 @@ "dev": true }, "invariant": { - "version": "2.2.2", + "version": "2.2.4", "bundled": true, "dev": true, "requires": { @@ -865,6 +1170,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, @@ -883,17 +1196,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": { @@ -901,11 +1226,6 @@ "bundled": true, "dev": true }, - "is-extglob": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "is-finite": { "version": "1.0.2", "bundled": true, @@ -915,39 +1235,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, @@ -958,6 +1280,11 @@ "bundled": true, "dev": true }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, "isarray": { "version": "1.0.0", "bundled": true, @@ -969,15 +1296,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 }, @@ -990,7 +1314,7 @@ } }, "istanbul-lib-instrument": { - "version": "1.9.1", + "version": "1.10.1", "bundled": true, "dev": true, "requires": { @@ -999,16 +1323,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" @@ -1025,12 +1349,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" @@ -1047,7 +1371,7 @@ } }, "istanbul-reports": { - "version": "1.1.3", + "version": "1.4.0", "bundled": true, "dev": true, "requires": { @@ -1115,7 +1439,7 @@ } }, "lodash": { - "version": "4.17.4", + "version": "4.17.10", "bundled": true, "dev": true }, @@ -1133,7 +1457,7 @@ } }, "lru-cache": { - "version": "4.1.1", + "version": "4.1.3", "bundled": true, "dev": true, "requires": { @@ -1141,6 +1465,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, @@ -1163,35 +1500,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 }, @@ -1208,6 +1559,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, @@ -1221,6 +1591,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, @@ -1232,14 +1628,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, @@ -1258,13 +1646,40 @@ "bundled": true, "dev": true }, - "object.omit": { - "version": "2.0.1", + "object-copy": { + "version": "0.1.0", "bundled": true, "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "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": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" } }, "once": { @@ -1305,9 +1720,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", @@ -1317,16 +1735,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", @@ -1336,6 +1748,11 @@ "error-ex": "^1.2.0" } }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, "path-exists": { "version": "2.1.0", "bundled": true, @@ -1406,8 +1823,8 @@ } } }, - "preserve": { - "version": "0.2.0", + "posix-character-classes": { + "version": "0.1.1", "bundled": true, "dev": true }, @@ -1416,43 +1833,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, @@ -1488,19 +1868,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, @@ -1534,6 +1910,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, @@ -1551,16 +1937,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, @@ -1584,11 +1999,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, @@ -1603,23 +2127,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, @@ -1634,11 +2195,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, @@ -1676,12 +2232,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" @@ -1692,6 +2248,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, @@ -1728,13 +2312,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": { @@ -1770,6 +2442,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, @@ -1808,11 +2488,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", @@ -1823,35 +2503,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": { @@ -1915,6 +2609,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" + } + } } } } @@ -4342,9 +5047,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", @@ -4653,9 +5358,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": { @@ -5686,9 +6391,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": { @@ -5877,9 +6582,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", @@ -5892,7 +6597,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", @@ -7816,9 +8521,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": { @@ -10295,9 +11000,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": { @@ -11388,18 +12093,18 @@ "dev": true }, "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" } }, "slash": { @@ -11777,9 +12482,9 @@ "dev": true }, "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", @@ -11787,11 +12492,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": { "debug": { @@ -11842,13 +12547,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": { @@ -12388,12 +13093,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", @@ -12609,9 +13311,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 db3ca6f1be50cebcefb75eeeb9d89aac74823001 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 18 Jul 2018 11:20:25 -0700 Subject: [PATCH 075/418] chore(deps): update dependency eslint-plugin-node to v7 (#64) --- .../package-lock.json | 79 +++++++++++++++---- .../package.json | 2 +- 2 files changed, 64 insertions(+), 17 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index b28e3f880b1..5507a3ed3e7 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -318,6 +318,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1446,7 +1447,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", @@ -2805,6 +2807,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", @@ -2816,6 +2819,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" } @@ -5219,18 +5223,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", @@ -5874,12 +5904,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" @@ -5894,17 +5926,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", @@ -6021,7 +6056,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6033,6 +6069,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6047,6 +6084,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6054,12 +6092,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" @@ -6078,6 +6118,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6158,7 +6199,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6170,6 +6212,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6291,6 +6334,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", @@ -8219,7 +8263,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", @@ -8805,6 +8850,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9747,7 +9793,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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 1f9089ee0b0..ca1d43cd335 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -65,7 +65,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.0", "eslint-config-prettier": "^2.9.0", - "eslint-plugin-node": "^6.0.1", + "eslint-plugin-node": "^7.0.0", "eslint-plugin-prettier": "^2.6.0", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", From cbd91528363d888cc41d9ae3bf57864ea1cead0f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 24 Jul 2018 10:05:06 -0700 Subject: [PATCH 076/418] chore(deps): lock file maintenance (#65) --- .../package-lock.json | 103 ++++++++---------- 1 file changed, 44 insertions(+), 59 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 5507a3ed3e7..30da5e44c2a 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -223,9 +223,9 @@ } }, "@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", @@ -318,7 +318,6 @@ "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1447,8 +1446,7 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.3.1", @@ -2756,14 +2754,14 @@ } }, "@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": "8.10.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", - "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" }, "acorn": { "version": "5.7.1", @@ -2807,7 +2805,6 @@ "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", @@ -2819,7 +2816,6 @@ "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" } @@ -5091,9 +5087,9 @@ } }, "eslint": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.1.0.tgz", - "integrity": "sha512-DyH6JsoA1KzA5+OSWFjg56DFJT+sDLO0yokaPZ9qY0UEmYrPA1gEX/G1MnVkmRDsksG4H1foIVz2ZXXM3hHYvw==", + "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", @@ -5112,7 +5108,7 @@ "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", "globals": "^11.7.0", - "ignore": "^3.3.3", + "ignore": "^4.0.2", "imurmurhash": "^0.1.4", "inquirer": "^5.2.0", "is-resolvable": "^1.1.0", @@ -5189,6 +5185,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", @@ -5539,9 +5541,9 @@ } }, "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", @@ -5904,14 +5906,12 @@ "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", "concat-map": "0.0.1" @@ -5926,20 +5926,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", @@ -6056,8 +6053,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6069,7 +6065,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6084,7 +6079,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6092,14 +6086,12 @@ "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" @@ -6118,7 +6110,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6199,8 +6190,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6212,7 +6202,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6334,7 +6323,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -8263,8 +8251,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", @@ -8545,18 +8532,18 @@ "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==", "dev": true }, "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==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -8850,7 +8837,6 @@ "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9793,8 +9779,7 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "lru-cache": { "version": "4.1.3", @@ -11526,9 +11511,9 @@ "dev": true }, "protobufjs": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", - "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", + "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", @@ -11540,8 +11525,8 @@ "@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", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", "long": "^4.0.0" } }, From 5d021525ddb0d26fe5cc5076722993cf1794c2dd Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sat, 28 Jul 2018 16:02:33 -0700 Subject: [PATCH 077/418] chore: use assert.strictEqual --- packages/google-cloud-videointelligence/test/gapic-v1.js | 2 +- packages/google-cloud-videointelligence/test/gapic-v1beta1.js | 2 +- packages/google-cloud-videointelligence/test/gapic-v1beta2.js | 2 +- packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index e89b4cd7f0c..2b44f38b13e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { }) .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-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index f9466adc897..e19c91d2dfa 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { }) .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-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index e628a89387d..b95d496fdbc 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { }) .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-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index 3ed53c5e0c8..bdb48809016 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { }) .catch(err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); From 3421c40ac52d3642735ebaf5f3c7b39a4c60a49f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 30 Jul 2018 07:51:55 -0700 Subject: [PATCH 078/418] chore: require node 8 for samples (#68) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 54dcb0160ba..204deb24a18 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -6,7 +6,7 @@ "author": "Google Inc.", "repository": "googleapis/nodejs-video-intelligence", "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "scripts": { "ava": "ava -T 20s --verbose test/*.test.js ./system-test/*.test.js", From 604919e70581fd7eae94b8205ff91d1448516eb8 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 30 Jul 2018 10:52:57 -0700 Subject: [PATCH 079/418] chore: move mocha options to mocha.opts (#67) --- packages/google-cloud-videointelligence/package.json | 4 ++-- packages/google-cloud-videointelligence/test/mocha.opts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/test/mocha.opts diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ca1d43cd335..3886f9694a6 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -43,14 +43,14 @@ "remi Taylor " ], "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/ test/", "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js --timeout 600000", - "test-no-cover": "mocha test/*.js --no-timeouts", + "test-no-cover": "mocha test/*.js", "test": "npm run cover" }, "dependencies": { diff --git a/packages/google-cloud-videointelligence/test/mocha.opts b/packages/google-cloud-videointelligence/test/mocha.opts new file mode 100644 index 00000000000..3e740ac6e4c --- /dev/null +++ b/packages/google-cloud-videointelligence/test/mocha.opts @@ -0,0 +1,2 @@ +--require intelli-espower-loader +--timeout 10000 From 335b8d1f1b97f62a7caf620c706043f74a846205 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 30 Jul 2018 18:45:14 -0700 Subject: [PATCH 080/418] chore(deps): lock file maintenance (#69) --- .../package-lock.json | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 30da5e44c2a..2648a6f7fc5 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -223,9 +223,9 @@ } }, "@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", @@ -2759,9 +2759,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", @@ -4848,13 +4848,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": { @@ -6668,9 +6669,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", @@ -6884,12 +6885,12 @@ } }, "node-pre-gyp": { - "version": "0.10.2", + "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", @@ -6912,7 +6913,7 @@ "bundled": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.1.11", "bundled": true, "requires": { "ignore-walk": "^3.0.1", @@ -7869,9 +7870,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", @@ -11471,9 +11472,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": { From a16cfd13dac8ad5f2b24552fc9da1e8bd9a02f67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 1 Aug 2018 17:47:27 -0700 Subject: [PATCH 081/418] fix(deps): update dependency google-gax to ^0.18.0 (#71) --- .../package-lock.json | 79 +++++++++++++++---- .../package.json | 2 +- 2 files changed, 63 insertions(+), 18 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 2648a6f7fc5..45e4c996394 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -318,6 +318,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1446,7 +1447,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", @@ -2624,6 +2626,24 @@ } } }, + "@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", @@ -2753,6 +2773,11 @@ "samsam": "1.3.0" } }, + "@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", @@ -2805,6 +2830,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", @@ -2816,6 +2842,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" } @@ -5773,9 +5800,9 @@ "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" }, @@ -5907,12 +5934,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" @@ -5927,17 +5956,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", @@ -6054,7 +6086,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6066,6 +6099,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6080,6 +6114,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6087,12 +6122,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" @@ -6111,6 +6148,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6191,7 +6229,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6203,6 +6242,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6324,6 +6364,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", @@ -6578,10 +6619,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", @@ -6590,7 +6632,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" } @@ -8252,7 +8294,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", @@ -8838,6 +8881,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9780,7 +9824,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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3886f9694a6..1800d7ec52c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.17.0", + "google-gax": "^0.18.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 864c80e3764962b31d1527a4a90b726daa2cff95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 6 Aug 2018 19:07:49 -0700 Subject: [PATCH 082/418] chore(deps): lock file maintenance (#74) --- .../package-lock.json | 142 +++++++----------- 1 file changed, 58 insertions(+), 84 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index 45e4c996394..b8da1d24abc 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -318,7 +318,6 @@ "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1447,8 +1446,7 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.3.1", @@ -2635,13 +2633,6 @@ "@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": { @@ -2774,9 +2765,9 @@ } }, "@types/lodash": { - "version": "4.14.115", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.115.tgz", - "integrity": "sha512-9K/P4XMQxk61omAzQh3bbbFiqnG17eLcFysjlAYz0aPcYrVo8T+ujaCeIeY0Gpzux7x1YbxtEtLKB7ZWf79qdg==" + "version": "4.14.116", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.116.tgz", + "integrity": "sha512-lRnAtKnxMXcYYXqOiotTmJd74uawNWuPnsnPrrO7HiFuE3npE2iQhfABatbYDyxTNqZNuXzcKGhw37R7RjBFLg==" }, "@types/long": { "version": "4.0.0", @@ -2784,9 +2775,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", @@ -2830,7 +2821,6 @@ "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", @@ -2842,7 +2832,6 @@ "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" } @@ -3110,10 +3099,13 @@ } }, "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.0" + } }, "assert-plus": { "version": "1.0.0", @@ -3339,9 +3331,9 @@ "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==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "axios": { @@ -3978,9 +3970,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": { @@ -5115,9 +5107,9 @@ } }, "eslint": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.2.0.tgz", - "integrity": "sha512-zlggW1qp7/TBjwLfouRoY7eWXrXwJZFqCdIxxh0/LVB/QuuKuIMkzyUZEcDo6LBadsry5JcEMxIqd3H/66CXVg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", + "integrity": "sha512-N/tCqlMKkyNvAvLu+zI9AqDasnSLt00K+Hu8kdsERliC9jYEc8ck12XtjvOXrBKu8fK6RrBcN9bat6Xk++9jAg==", "dev": true, "requires": { "ajv": "^6.5.0", @@ -5151,7 +5143,7 @@ "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", - "regexpp": "^1.1.0", + "regexpp": "^2.0.0", "require-uncached": "^1.0.3", "semver": "^5.5.0", "string.prototype.matchall": "^2.0.0", @@ -5214,9 +5206,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": { @@ -5261,14 +5253,6 @@ "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": { @@ -5286,9 +5270,9 @@ }, "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": { @@ -5934,14 +5918,12 @@ "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", "concat-map": "0.0.1" @@ -5956,20 +5938,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", @@ -6086,8 +6065,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6099,7 +6077,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6114,7 +6091,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6122,14 +6098,12 @@ "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" @@ -6148,7 +6122,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6229,8 +6202,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6242,7 +6214,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6364,7 +6335,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -8294,8 +8264,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", @@ -8881,7 +8850,6 @@ "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9824,8 +9792,7 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "lru-cache": { "version": "4.1.3", @@ -11251,9 +11218,9 @@ "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=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-to-regexp": { @@ -11574,6 +11541,13 @@ "@types/long": "^4.0.0", "@types/node": "^10.1.0", "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", + "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==" + } } }, "proxyquire": { @@ -11779,9 +11753,9 @@ } }, "regexpp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", "dev": true }, "regexpu-core": { @@ -12078,9 +12052,9 @@ "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", @@ -13187,9 +13161,9 @@ "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==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", From 1a38e6d8b37d7c38140e6107f97910b21409c718 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 7 Aug 2018 07:50:04 -0700 Subject: [PATCH 083/418] chore(deps): lock file maintenance (#75) --- packages/google-cloud-videointelligence/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json index b8da1d24abc..43098f91626 100644 --- a/packages/google-cloud-videointelligence/package-lock.json +++ b/packages/google-cloud-videointelligence/package-lock.json @@ -2775,9 +2775,9 @@ "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==" + "version": "9.6.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.26.tgz", + "integrity": "sha512-3LKKscYUZdZreOuvnly8oWsCA1TOWtmkV3mbcUnV34f+nqDWJic+4SGjRi1C/sPHnZcSs/x209O+Dgy8aWHt2A==" }, "acorn": { "version": "5.7.1", From f9b68a542f2d64d5af9b80e2bd2db96846c5c511 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 7 Aug 2018 14:02:11 -0700 Subject: [PATCH 084/418] chore: ignore package-lock.json (#76) * chore: ignore package-log.json * remove locky * renovateeee --- .../.circleci/config.yml | 16 +- .../.circleci/get_workflow_name.py | 67 - .../google-cloud-videointelligence/.gitignore | 1 + .../package-lock.json | 13383 ---------------- 4 files changed, 2 insertions(+), 13465 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.circleci/get_workflow_name.py delete mode 100644 packages/google-cloud-videointelligence/package-lock.json diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 5da78bb04e5..10e47964794 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -61,18 +61,7 @@ jobs: docker: - image: 'node:6' 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: npm install @@ -91,7 +80,6 @@ jobs: - image: 'node:8' 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. @@ -107,7 +95,6 @@ jobs: - image: 'node:8' steps: - checkout - - run: *remove_package_lock - run: *npm_install_and_link - run: name: Build documentation. @@ -117,7 +104,6 @@ jobs: - image: 'node:8' steps: - checkout - - run: *remove_package_lock - run: name: Decrypt credentials. command: | diff --git a/packages/google-cloud-videointelligence/.circleci/get_workflow_name.py b/packages/google-cloud-videointelligence/.circleci/get_workflow_name.py deleted file mode 100644 index ff6b58fd24f..00000000000 --- a/packages/google-cloud-videointelligence/.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-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index b7d407606fb..6b002b948bd 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -7,3 +7,4 @@ out/ system-test/secrets.js system-test/*key.json *.lock +package-lock.json diff --git a/packages/google-cloud-videointelligence/package-lock.json b/packages/google-cloud-videointelligence/package-lock.json deleted file mode 100644 index 43098f91626..00000000000 --- a/packages/google-cloud-videointelligence/package-lock.json +++ /dev/null @@ -1,13383 +0,0 @@ -{ - "name": "@google-cloud/video-intelligence", - "version": "1.2.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.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": { - "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.3.2" - } - }, - "@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.5" - } - }, - "@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.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.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.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" - } - }, - "@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.5" - } - }, - "@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.1.0", - "invariant": "^2.2.0", - "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", - "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.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", - "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1" - } - }, - "@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.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 - }, - "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.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.0.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "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.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.22.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "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.8", - "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 - }, - "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.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.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": { - "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.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.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.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "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" - } - }, - "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, - "dev": true, - "optional": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "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.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, - "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.0.1", - "which": "^1.2.9" - } - }, - "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.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, - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "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.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, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "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" - }, - "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" - } - } - } - }, - "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.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 - } - } - }, - "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.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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", - "signal-exit": "^3.0.0" - } - }, - "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.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "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.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.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.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "invariant": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "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.0.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.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.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.0.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.0" - } - }, - "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.0.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.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", - "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" - }, - "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.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" - }, - "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.3" - } - }, - "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.5" - } - }, - "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.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, - "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.0" - } - }, - "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.0" - } - }, - "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.0.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.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.2.0", - "bundled": true, - "dev": 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 - }, - "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.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, - "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" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "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.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": { - "isobject": "^3.0.0" - } - }, - "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" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "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.1.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.2.0" - } - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "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.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "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.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "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.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "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.0" - } - }, - "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.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, - "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, - "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.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, - "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" - } - }, - "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.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, - "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.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "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.8", - "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, - "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, - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.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.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.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.1", - "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, - "dev": true, - "requires": { - "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, - "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.5" - } - }, - "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.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": { - "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.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.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" - } - }, - "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.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": { - "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" - } - } - } - } - } - }, - "@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" - } - }, - "@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.1", - "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.0", - "strip-ansi": "~0.1.0" - } - }, - "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.0" - } - }, - "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.1", - "@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" - } - }, - "@types/lodash": { - "version": "4.14.116", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.116.tgz", - "integrity": "sha512-lRnAtKnxMXcYYXqOiotTmJd74uawNWuPnsnPrrO7HiFuE3npE2iQhfABatbYDyxTNqZNuXzcKGhw37R7RjBFLg==" - }, - "@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.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.26.tgz", - "integrity": "sha512-3LKKscYUZdZreOuvnly8oWsCA1TOWtmkV3mbcUnV34f+nqDWJic+4SGjRi1C/sPHnZcSs/x209O+Dgy8aWHt2A==" - }, - "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.0.3" - } - }, - "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.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.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.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" - } - } - } - }, - "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.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 - }, - "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.0" - } - }, - "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.1.5", - "normalize-path": "^2.0.0" - }, - "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.0.1" - } - }, - "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.1", - "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.0" - } - }, - "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.5" - } - }, - "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.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" - } - } - } - }, - "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.2" - } - }, - "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.1" - } - }, - "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.0" - } - }, - "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.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": { - "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.0.0" - } - }, - "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" - } - }, - "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.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" - } - } - } - }, - "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=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "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.3.0", - "is-buffer": "^1.1.5" - } - }, - "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.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "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.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-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" - }, - "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.22.0", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-types": "^6.24.1" - } - }, - "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.4" - } - }, - "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.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-template": "^6.24.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-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.22.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.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": { - "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.8.0", - "babel-runtime": "^6.22.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.22.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.22.0", - "babel-types": "^6.24.1" - } - }, - "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.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "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.22.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.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "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.24.1", - "babel-runtime": "^6.22.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.8.0", - "babel-runtime": "^6.22.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.22.0", - "babel-types": "^6.24.1" - } - }, - "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.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": { - "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.6" - } - } - } - }, - "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==", - "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.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=", - "requires": { - "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": "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" - } - } - } - }, - "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.3" - } - }, - "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.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": { - "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.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=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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" - }, - "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.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.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.5" - } - } - } - }, - "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.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.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.0.0", - "map-obj": "^1.0.0" - } - }, - "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.3", - "lazy-cache": "^1.0.3" - } - }, - "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.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.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": { - "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.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" - } - } - } - }, - "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.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=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "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.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 - }, - "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.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.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=", - "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.1" - } - }, - "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.0" - } - }, - "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=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "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.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": { - "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.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": { - "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.0", - "is-error": "^2.2.0" - } - }, - "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=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "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.1" - } - }, - "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.9" - } - }, - "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.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.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.8" - } - }, - "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.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" - } - } - } - }, - "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.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "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.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "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=", - "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.0" - } - } - } - }, - "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.0" - } - }, - "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.1", - "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" - } - }, - "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", - "domelementtype": "1" - } - }, - "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.0" - } - }, - "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.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "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.0", - "safer-buffer": "^2.1.0" - } - }, - "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.0.1" - } - }, - "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.0.0", - "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.0.0" - } - }, - "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" - } - }, - "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.1", - "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.1", - "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" - } - }, - "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", - "es5-ext": "^0.10.35", - "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", - "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": { - "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", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "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", - "es5-ext": "~0.10.14" - } - }, - "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", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "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.0", - "esprima": "^2.0.0" - }, - "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.1", - "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.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", - "integrity": "sha512-N/tCqlMKkyNvAvLu+zI9AqDasnSLt00K+Hu8kdsERliC9jYEc8ck12XtjvOXrBKu8fK6RrBcN9bat6Xk++9jAg==", - "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": "^2.0.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.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 - }, - "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.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", - "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.0", - "regexpp": "^2.0.0" - } - }, - "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.2", - "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.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-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.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": { - "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.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": { - "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.6" - } - } - } - }, - "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.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" - } - }, - "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.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": { - "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.0.0" - } - }, - "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.0.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.1.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", - "es5-ext": "~0.10.14" - } - }, - "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" - } - }, - "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.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=", - "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=", - "requires": { - "is-extendable": "^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=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "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.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "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.0.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.5" - } - } - } - }, - "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.0", - "iconv-lite": "^0.4.17", - "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.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=", - "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=", - "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==", - "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=", - "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.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=", - "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.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.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.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=", - "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.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 - } - } - }, - "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.1", - "retry-axios": "0.3.2" - } - }, - "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 - }, - "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=", - "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.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=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.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.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" - } - } - } - }, - "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.0" - }, - "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.0" - } - } - } - }, - "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.4" - } - }, - "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.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": { - "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-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.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" - } - }, - "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.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", - "protobufjs": "^6.8.0" - } - }, - "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.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": { - "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.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "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.0.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.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "gauge": { - "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" - } - }, - "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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "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.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "minipass": { - "version": "2.3.3", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "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.1.2", - "iconv-lite": "^0.4.4", - "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" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "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.1" - } - }, - "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" - } - }, - "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" - } - }, - "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.0", - "os-tmpdir": "^1.0.0" - } - }, - "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", - "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.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.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.0.5" - } - }, - "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.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.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "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.0", - "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 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.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.0", - "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.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - }, - "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": ">=0.0.4" - } - } - } - }, - "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.1.0", - "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.0.0" - } - }, - "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.1" - } - }, - "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.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=", - "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.5" - } - } - } - }, - "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 - }, - "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.0", - "os-tmpdir": "^1.0.1" - } - }, - "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.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "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.2.2", - "sshpk": "^1.7.0" - } - }, - "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.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": { - "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 < 3" - } - }, - "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.3.0", - "wrappy": "1" - } - }, - "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.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": { - "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.0.0" - } - }, - "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.1.1", - "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.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=" - }, - "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-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.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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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.0.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.0.0" - } - }, - "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.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=", - "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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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" - }, - "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.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=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "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.0", - "is-path-inside": "^1.0.0" - } - }, - "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.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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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.1.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.0" - } - }, - "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.1" - } - }, - "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.1" - } - }, - "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-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=", - "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=", - "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.2.0", - "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.7", - "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.1" - } - }, - "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.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" - }, - "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.6" - } - }, - "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.0.1" - } - }, - "jws": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", - "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", - "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.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.9" - } - }, - "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.0" - } - }, - "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.0" - } - }, - "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.2", - "parse-json": "^2.2.0", - "pify": "^2.0.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 - }, - "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.0 || ^4.0.0" - } - }, - "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.0" - } - }, - "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.0" - } - }, - "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.4" - } - }, - "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=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.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.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": { - "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.0.0", - "pinkie-promise": "^2.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.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "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.0" - } - }, - "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.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=", - "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.0" - } - }, - "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.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=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.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=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "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.0.0" - } - }, - "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" - }, - "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.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": { - "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==", - "dev": true - }, - "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.7" - } - }, - "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" - } - } - } - }, - "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.34" - }, - "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": ">=0.0.4" - } - } - } - }, - "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.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, - "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.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "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.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==" - }, - "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.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=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "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.0.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.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=" - }, - "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.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.0.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "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.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.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.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": { - "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.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.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.3", - "lazy-cache": "^1.0.3" - } - }, - "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, - "dev": true, - "optional": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "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.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, - "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.0.1", - "which": "^1.2.9" - } - }, - "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.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 - } - } - }, - "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.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, - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "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" - }, - "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.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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.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 - } - } - }, - "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.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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", - "signal-exit": "^3.0.0" - } - }, - "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.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, - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "bundled": true, - "dev": true, - "requires": { - "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, - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "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.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.3.0", - "wrappy": "1" - } - }, - "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.0.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.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.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.0.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.0.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.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, - "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.1", - "source-map": "^0.5.3" - } - }, - "istanbul-reports": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "handlebars": "^4.0.3" - } - }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "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.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, - "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.0" - } - }, - "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.0.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.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.2.0", - "bundled": true, - "dev": 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 - }, - "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.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, - "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" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "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.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": { - "isobject": "^3.0.0" - } - }, - "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" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "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.1.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.2.0" - } - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "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.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "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.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "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.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "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.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, - "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, - "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.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, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "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.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.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, - "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.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, - "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.0" - } - }, - "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.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, - "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" - } - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.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.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.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.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", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "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": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "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.5" - } - }, - "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.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, - "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.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=", - "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.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=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "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.5" - } - } - } - }, - "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.0" - } - }, - "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.4", - "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.0.4" - }, - "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.2" - }, - "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" - } - }, - "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.0.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.1", - "wordwrap": "~0.0.2" - } - }, - "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.4", - "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=", - "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.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-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.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.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.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" - } - } - } - }, - "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.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "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.2.0" - } - }, - "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.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "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.0.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.2", - "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.0.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.1", - "xtend": "^4.0.0" - } - }, - "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.0.0", - "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.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": { - "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" - } - }, - "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.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": { - "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.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": { - "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.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.0" - }, - "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.1.0", - "long": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "10.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", - "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==" - } - } - }, - "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.0", - "resolve": "~1.1.7" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "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.0", - "strict-uri-encode": "^1.0.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.0", - "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.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 - } - } - }, - "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.3.2", - "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.0.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.0.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.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": { - "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.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "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.0" - } - } - } - }, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", - "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", - "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.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "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.1.6", - "safe-buffer": "^5.0.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.0.1" - } - }, - "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.0.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.0" - } - }, - "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.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": { - "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.0" - }, - "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.0", - "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.0" - } - }, - "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.1" - } - }, - "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.0.5" - } - }, - "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.10" - } - }, - "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.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": { - "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.0.3" - } - }, - "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.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=", - "requires": { - "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=", - "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": "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.4.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 - }, - "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.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", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "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=", - "requires": { - "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": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "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=", - "requires": { - "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": "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" - } - } - } - }, - "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.0" - }, - "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.5" - } - } - } - }, - "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.0.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.0.0", - "source-map": "^0.6.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 - } - } - }, - "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-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.0" - } - }, - "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.2", - "number-is-nan": "^1.0.0" - } - }, - "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.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": { - "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.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-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.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.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": { - "version": "1.3.0", - "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" - } - }, - "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.0.0" - } - }, - "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 - }, - "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.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": { - "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.10.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.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.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.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", - "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.1.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.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=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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.0.1" - } - }, - "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=" - }, - "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.1", - "uglify-to-browserify": "~1.0.0", - "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.1", - "right-align": "^0.1.1", - "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.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.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.0" - } - }, - "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.1", - "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.1", - "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.0" - } - }, - "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.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=", - "requires": { - "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=", - "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.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": { - "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.0" - }, - "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.1" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "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.2.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==", - "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.1", - "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.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.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.2.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.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": { - "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" - }, - "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 40c8d00f2362f64055a06c8ee8d4512f9b6888ab Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 9 Aug 2018 14:43:07 -0700 Subject: [PATCH 085/418] chore: do not use npm ci (#79) --- packages/google-cloud-videointelligence/synth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index c0d7c29a0aa..11e8fd3e4fb 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -34,6 +34,6 @@ ) # Node.js specific cleanup -subprocess.run(['npm', 'ci']) +subprocess.run(['npm', 'install']) subprocess.run(['npm', 'run', 'prettier']) subprocess.run(['npm', 'run', 'lint']) From b708180cd8b7e1a50f31b321a5fcc9321624a655 Mon Sep 17 00:00:00 2001 From: Alix Hamilton Date: Thu, 16 Aug 2018 13:53:51 -0700 Subject: [PATCH 086/418] Video Intelligence region tag update (#81) --- packages/google-cloud-videointelligence/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 7799f1d034b..748c815f7f4 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -87,7 +87,7 @@ const gapic = Object.freeze({ * }); * * @example include:samples/quickstart.js - * region_tag:videointelligence_quickstart + * region_tag:video_quickstart * Full quickstart example: */ From 8a2469fde8a88e64943b2dab02f527609594f415 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 16 Aug 2018 16:29:11 -0700 Subject: [PATCH 087/418] chore(deps): update dependency eslint-config-prettier to v3 (#80) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 1800d7ec52c..a4275d49de5 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -64,7 +64,7 @@ "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.0", - "eslint-config-prettier": "^2.9.0", + "eslint-config-prettier": "^3.0.0", "eslint-plugin-node": "^7.0.0", "eslint-plugin-prettier": "^2.6.0", "ink-docstrap": "^1.3.2", From ee690e3a80b92a7d6b3604eaca61e8eef011acc2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 22 Aug 2018 07:41:03 -0700 Subject: [PATCH 088/418] fix(deps): update dependency google-gax to ^0.19.0 (#82) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a4275d49de5..272caf87078 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.18.0", + "google-gax": "^0.19.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 3f14d4aa59278f694fcf1d20943c95446f00f5b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 28 Aug 2018 07:59:52 -0700 Subject: [PATCH 089/418] chore(deps): update dependency nyc to v13 (#83) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 272caf87078..7bf3aeaf174 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -71,7 +71,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.5" } From 0d1eb6cdd51c48d99566a06486498b665d400705 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 28 Aug 2018 13:19:13 -0700 Subject: [PATCH 090/418] Re-generate library using /synth.py (#85) --- .../src/v1/doc/google/protobuf/doc_any.js | 21 ++++++++++++------- .../v1beta1/doc/google/protobuf/doc_any.js | 21 ++++++++++++------- .../v1beta2/doc/google/protobuf/doc_any.js | 21 ++++++++++++------- .../v1p1beta1/doc/google/protobuf/doc_any.js | 21 ++++++++++++------- 4 files changed, 52 insertions(+), 32 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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. * From b77b1024a2e5463a976b290b8c083b86ebede516 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 30 Aug 2018 17:10:19 -0700 Subject: [PATCH 091/418] Update CircleCI config and version to v1.3.0 (#90) Update CircleCI config and version to v1.3.0 --- .../.circleci/config.yml | 107 +++++++++++++----- .../google-cloud-videointelligence/.jsdoc.js | 4 +- .../package.json | 2 +- .../samples/package.json | 2 +- 4 files changed, 80 insertions(+), 35 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 10e47964794..9a65e928a47 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.circleci/config.yml @@ -4,50 +4,47 @@ workflows: tests: jobs: &workflow_jobs - node6: - filters: + filters: &all_commits tags: only: /.*/ - node8: - filters: - tags: - only: /.*/ + filters: *all_commits - node10: - filters: - tags: - only: /.*/ + filters: *all_commits - lint: requires: - node6 - node8 - node10 - filters: - tags: - only: /.*/ + filters: *all_commits - docs: requires: - node6 - node8 - node10 - filters: - tags: - only: /.*/ - - sample_tests: + 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: *master_and_releases - publish_npm: requires: + - system_tests - sample_tests filters: branches: ignore: /.*/ - tags: - only: '/^v[\d.]+$/' + tags: *releases nightly: triggers: - schedule: @@ -60,24 +57,33 @@ jobs: node6: docker: - image: 'node:6' + user: node steps: &unit_tests_steps - - checkout + - checkout - run: &npm_install_and_link - name: Install and link the module. - command: npm install + name: Install and link the module + command: |- + mkdir -p /home/node/.npm-global + npm install + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: npm test - run: node_modules/.bin/codecov + 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 @@ -85,31 +91,37 @@ 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: 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: - name: Build documentation. - command: npm run docs + - run: npm run docs sample_tests: docker: - image: 'node:8' + user: node steps: - checkout - 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: @@ -117,16 +129,49 @@ jobs: command: npm run samples-test environment: GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /var/video-intelligence/.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 + 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 + 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. + command: npm run system-test + environment: + GOOGLE_APPLICATION_CREDENTIALS: .circleci/key.json + - run: + name: Remove unencrypted key. + command: | + if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then + rm .circleci/key.json + fi when: always - working_directory: /var/video-intelligence/ publish_npm: docker: - image: 'node:8' + user: node steps: - checkout - - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' - - run: npm publish + - run: npm install + - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + - run: npm publish --access=public diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 325fa2866d9..485527b95ff 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 7bf3aeaf174..33b2e673634 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 204deb24a18..a7f34cab93a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "ava -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.2.0", + "@google-cloud/video-intelligence": "^1.3.0", "yargs": "^12.0.0" }, "devDependencies": { From e74f1876807794267420080f39e9aac7583a97da Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Fri, 31 Aug 2018 16:09:17 -0700 Subject: [PATCH 092/418] add templates to synth.py (#91) * add templatest to synth.py * run synth.py to pick up kokoro --- .../google-cloud-videointelligence/synth.py | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 11e8fd3e4fb..edc1b33eb52 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -1,39 +1,37 @@ import synthtool as s import synthtool.gcp as gcp import logging -from pathlib import Path import subprocess logging.basicConfig(level=logging.DEBUG) gapic = gcp.GAPICGenerator() +common_templates = gcp.CommonTemplates() -versions = ['v1', 'v1beta1', 'v1beta2', 'v1p1beta1'] +versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1"] for version in versions: library = gapic.node_library( - 'video-intelligence', version, + "video-intelligence", + version, config_path="/google/cloud/videointelligence/" - f"artman_videointelligence_{version}.yaml") + f"artman_videointelligence_{version}.yaml", + ) # skip index, protos, package.json, and README.md - s.copy( - library, - excludes=['package.json', 'README.md', 'src/index.js'], - ) + s.copy(library, excludes=["package.json", "README.md", "src/index.js"]) # # Generator emitted unused helper mockSimpleGrpcMethod, add a temporary # s.replace to remove that function. # ref: https://github.com/googleapis/gapic-generator/issues/2120 # -s.replace( - 'test/gapic-*.js', - 'function mockSimpleGrpcMethod.*\n(.*\n)*?}\n', - '', -) +s.replace("test/gapic-*.js", "function mockSimpleGrpcMethod.*\n(.*\n)*?}\n", "") + +templates = common_templates.node_library() +s.copy(templates) # Node.js specific cleanup -subprocess.run(['npm', 'install']) -subprocess.run(['npm', 'run', 'prettier']) -subprocess.run(['npm', 'run', 'lint']) +subprocess.run(["npm", "install"]) +subprocess.run(["npm", "run", "prettier"]) +subprocess.run(["npm", "run", "lint"]) From 0802c18d721bf0fa60559fc291f1a83a27ceb593 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 4 Sep 2018 10:56:12 -0700 Subject: [PATCH 093/418] Retry npm install in CI (#93) --- .../.circleci/config.yml | 6 +- .../.circleci/npm-install-retry.js | 60 +++++++++++++++++++ 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100755 packages/google-cloud-videointelligence/.circleci/npm-install-retry.js diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 9a65e928a47..80dcf7e67d9 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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-videointelligence/.circleci/npm-install-retry.js b/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js new file mode 100755 index 00000000000..ae3220d7348 --- /dev/null +++ b/packages/google-cloud-videointelligence/.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 8610975af723a43675e8bbccdf1bf696b4dbbf8a Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 10 Sep 2018 06:57:53 -0700 Subject: [PATCH 094/418] Update CI config (#95) --- .../.circleci/config.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 80dcf7e67d9..8af6a4d0489 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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 4f87e5730c04a7b0f2cf43d8b87b41aabe4d03ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 13 Sep 2018 06:43:19 -0700 Subject: [PATCH 095/418] fix(deps): update dependency google-gax to ^0.20.0 (#96) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 33b2e673634..4cae7df91ec 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "extend": "^3.0", - "google-gax": "^0.19.0", + "google-gax": "^0.20.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From fd38bb656494f9263187b8bb83ffd4db8a52940f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 13 Sep 2018 07:39:18 -0700 Subject: [PATCH 096/418] test: throw on deprecation (#72) --- packages/google-cloud-videointelligence/test/mocha.opts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/test/mocha.opts b/packages/google-cloud-videointelligence/test/mocha.opts index 3e740ac6e4c..8751e7bae37 100644 --- a/packages/google-cloud-videointelligence/test/mocha.opts +++ b/packages/google-cloud-videointelligence/test/mocha.opts @@ -1,2 +1,3 @@ --require intelli-espower-loader --timeout 10000 +--throw-deprecation From 1966f9b4e1669a0499d5b36dfc3ea97d15d13749 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Fri, 14 Sep 2018 08:40:50 -0700 Subject: [PATCH 097/418] Switch to let/const (#97) --- .../v1/doc_video_intelligence.js | 48 ++++++++--------- .../doc/google/longrunning/doc_operations.js | 12 ++--- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../v1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../v1/video_intelligence_service_client.js | 52 +++++++++---------- .../v1beta1/doc_video_intelligence.js | 34 ++++++------ .../doc/google/longrunning/doc_operations.js | 12 ++--- .../v1beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1beta1/doc/google/rpc/doc_status.js | 2 +- .../video_intelligence_service_client.js | 52 +++++++++---------- .../v1beta2/doc_video_intelligence.js | 48 ++++++++--------- .../doc/google/longrunning/doc_operations.js | 12 ++--- .../v1beta2/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_duration.js | 2 +- .../src/v1beta2/doc/google/rpc/doc_status.js | 2 +- .../video_intelligence_service_client.js | 52 +++++++++---------- .../v1p1beta1/doc_video_intelligence.js | 48 ++++++++--------- .../doc/google/longrunning/doc_operations.js | 12 ++--- .../v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_duration.js | 2 +- .../v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../video_intelligence_service_client.js | 52 +++++++++---------- .../test/gapic-v1.js | 34 ++++++------ .../test/gapic-v1beta1.js | 34 ++++++------ .../test/gapic-v1beta2.js | 34 ++++++------ .../test/gapic-v1p1beta1.js | 34 ++++++------ 27 files changed, 296 insertions(+), 296 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index c882a671cc3..d8dce9b8e51 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -62,7 +62,7 @@ * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var AnnotateVideoRequest = { +const AnnotateVideoRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -100,7 +100,7 @@ var AnnotateVideoRequest = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var VideoContext = { +const VideoContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var VideoContext = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var LabelDetectionConfig = { +const LabelDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -144,7 +144,7 @@ var LabelDetectionConfig = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var ShotChangeDetectionConfig = { +const ShotChangeDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -160,7 +160,7 @@ var ShotChangeDetectionConfig = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var ExplicitContentDetectionConfig = { +const ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -179,7 +179,7 @@ var ExplicitContentDetectionConfig = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var FaceDetectionConfig = { +const FaceDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -202,7 +202,7 @@ var FaceDetectionConfig = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var VideoSegment = { +const VideoSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -221,7 +221,7 @@ var VideoSegment = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var LabelSegment = { +const LabelSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -241,7 +241,7 @@ var LabelSegment = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var LabelFrame = { +const LabelFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -263,7 +263,7 @@ var LabelFrame = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var Entity = { +const Entity = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -297,7 +297,7 @@ var Entity = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var LabelAnnotation = { +const LabelAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -319,7 +319,7 @@ var LabelAnnotation = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var ExplicitContentFrame = { +const ExplicitContentFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -337,7 +337,7 @@ var ExplicitContentFrame = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var ExplicitContentAnnotation = { +const ExplicitContentAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -362,7 +362,7 @@ var ExplicitContentAnnotation = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var NormalizedBoundingBox = { +const NormalizedBoundingBox = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -378,7 +378,7 @@ var NormalizedBoundingBox = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var FaceSegment = { +const FaceSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -402,7 +402,7 @@ var FaceSegment = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var FaceFrame = { +const FaceFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -426,7 +426,7 @@ var FaceFrame = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -480,7 +480,7 @@ var FaceAnnotation = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var VideoAnnotationResults = { +const VideoAnnotationResults = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -498,7 +498,7 @@ var VideoAnnotationResults = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var AnnotateVideoResponse = { +const AnnotateVideoResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -527,7 +527,7 @@ var AnnotateVideoResponse = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var VideoAnnotationProgress = { +const VideoAnnotationProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -545,7 +545,7 @@ var VideoAnnotationProgress = { * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -var AnnotateVideoProgress = { +const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -555,7 +555,7 @@ var AnnotateVideoProgress = { * @enum {number} * @memberof google.cloud.videointelligence.v1 */ -var Feature = { +const Feature = { /** * Unspecified. @@ -589,7 +589,7 @@ var Feature = { * @enum {number} * @memberof google.cloud.videointelligence.v1 */ -var LabelDetectionMode = { +const LabelDetectionMode = { /** * Unspecified. @@ -618,7 +618,7 @@ var LabelDetectionMode = { * @enum {number} * @memberof google.cloud.videointelligence.v1 */ -var Likelihood = { +const Likelihood = { /** * Unspecified likelihood. diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js index 3ea5c376abb..c03ce2fb3df 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js @@ -92,6 +92,6 @@ * @memberof google.protobuf * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} */ -var Duration = { +const Duration = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 59a23d41e8f..6ed0c6467e6 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -72,13 +72,13 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -89,14 +89,14 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -116,10 +116,10 @@ class VideoIntelligenceServiceClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var annotateVideoResponse = protoFilesRoot.lookup( + const annotateVideoResponse = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1.AnnotateVideoResponse' ); - var annotateVideoMetadata = protoFilesRoot.lookup( + const annotateVideoMetadata = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1.AnnotateVideoProgress' ); @@ -132,7 +132,7 @@ class VideoIntelligenceServiceClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1.VideoIntelligenceService', gapicConfig, opts.clientConfig, @@ -146,20 +146,20 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1.VideoIntelligenceService. - var videoIntelligenceServiceStub = gaxGrpc.createStub( + const videoIntelligenceServiceStub = gaxGrpc.createStub( protos.google.cloud.videointelligence.v1.VideoIntelligenceService, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (let methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.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); } ), @@ -261,14 +261,14 @@ class VideoIntelligenceServiceClient { * * const videoIntelligence = require('@google-cloud/video-intelligence'); * - * var client = new videoIntelligence.v1.VideoIntelligenceServiceClient({ + * const client = new videoIntelligence.v1.VideoIntelligenceServiceClient({ * // optional auth parameters. * }); * - * var inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -276,30 +276,30 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -307,8 +307,8 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index 2d10356f406..01e20f52221 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js @@ -61,7 +61,7 @@ * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var AnnotateVideoRequest = { +const AnnotateVideoRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -106,7 +106,7 @@ var AnnotateVideoRequest = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var VideoContext = { +const VideoContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -123,7 +123,7 @@ var VideoContext = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var VideoSegment = { +const VideoSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -150,7 +150,7 @@ var VideoSegment = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.LabelLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var LabelLocation = { +const LabelLocation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -172,7 +172,7 @@ var LabelLocation = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var LabelAnnotation = { +const LabelAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -216,7 +216,7 @@ var LabelAnnotation = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var SafeSearchAnnotation = { +const SafeSearchAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -239,7 +239,7 @@ var SafeSearchAnnotation = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.BoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var BoundingBox = { +const BoundingBox = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -258,7 +258,7 @@ var BoundingBox = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.FaceLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var FaceLocation = { +const FaceLocation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -284,7 +284,7 @@ var FaceLocation = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -325,7 +325,7 @@ var FaceAnnotation = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var VideoAnnotationResults = { +const VideoAnnotationResults = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -343,7 +343,7 @@ var VideoAnnotationResults = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var AnnotateVideoResponse = { +const AnnotateVideoResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -372,7 +372,7 @@ var AnnotateVideoResponse = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var VideoAnnotationProgress = { +const VideoAnnotationProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -390,7 +390,7 @@ var VideoAnnotationProgress = { * @memberof google.cloud.videointelligence.v1beta1 * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} */ -var AnnotateVideoProgress = { +const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -400,7 +400,7 @@ var AnnotateVideoProgress = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -var Feature = { +const Feature = { /** * Unspecified. @@ -434,7 +434,7 @@ var Feature = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -var LabelLevel = { +const LabelLevel = { /** * Unspecified. @@ -469,7 +469,7 @@ var LabelLevel = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -var LabelDetectionMode = { +const LabelDetectionMode = { /** * Unspecified. @@ -498,7 +498,7 @@ var LabelDetectionMode = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -var Likelihood = { +const Likelihood = { /** * Unknown likelihood. diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index f2b6447aefd..90327fc9706 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -72,13 +72,13 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -89,14 +89,14 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -116,10 +116,10 @@ class VideoIntelligenceServiceClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var annotateVideoResponse = protoFilesRoot.lookup( + const annotateVideoResponse = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1beta1.AnnotateVideoResponse' ); - var annotateVideoMetadata = protoFilesRoot.lookup( + const annotateVideoMetadata = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1beta1.AnnotateVideoProgress' ); @@ -132,7 +132,7 @@ class VideoIntelligenceServiceClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService', gapicConfig, opts.clientConfig, @@ -146,20 +146,20 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta1.VideoIntelligenceService. - var videoIntelligenceServiceStub = gaxGrpc.createStub( + const videoIntelligenceServiceStub = gaxGrpc.createStub( protos.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (let methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.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); } ), @@ -260,14 +260,14 @@ class VideoIntelligenceServiceClient { * * const videointelligence = require('@google-cloud/videointelligence'); * - * var client = new videointelligence.v1beta1.VideoIntelligenceServiceClient({ + * const client = new videointelligence.v1beta1.VideoIntelligenceServiceClient({ * // optional auth parameters. * }); * - * var inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -275,30 +275,30 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -306,8 +306,8 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 0b6902adc13..cbb27216ab0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js @@ -62,7 +62,7 @@ * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var AnnotateVideoRequest = { +const AnnotateVideoRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -100,7 +100,7 @@ var AnnotateVideoRequest = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var VideoContext = { +const VideoContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var VideoContext = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var LabelDetectionConfig = { +const LabelDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -144,7 +144,7 @@ var LabelDetectionConfig = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var ShotChangeDetectionConfig = { +const ShotChangeDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -160,7 +160,7 @@ var ShotChangeDetectionConfig = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var ExplicitContentDetectionConfig = { +const ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -179,7 +179,7 @@ var ExplicitContentDetectionConfig = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var FaceDetectionConfig = { +const FaceDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -202,7 +202,7 @@ var FaceDetectionConfig = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var VideoSegment = { +const VideoSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -221,7 +221,7 @@ var VideoSegment = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var LabelSegment = { +const LabelSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -241,7 +241,7 @@ var LabelSegment = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var LabelFrame = { +const LabelFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -263,7 +263,7 @@ var LabelFrame = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var Entity = { +const Entity = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -297,7 +297,7 @@ var Entity = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var LabelAnnotation = { +const LabelAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -319,7 +319,7 @@ var LabelAnnotation = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var ExplicitContentFrame = { +const ExplicitContentFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -337,7 +337,7 @@ var ExplicitContentFrame = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var ExplicitContentAnnotation = { +const ExplicitContentAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -362,7 +362,7 @@ var ExplicitContentAnnotation = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var NormalizedBoundingBox = { +const NormalizedBoundingBox = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -378,7 +378,7 @@ var NormalizedBoundingBox = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var FaceSegment = { +const FaceSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -402,7 +402,7 @@ var FaceSegment = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var FaceFrame = { +const FaceFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -426,7 +426,7 @@ var FaceFrame = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -480,7 +480,7 @@ var FaceAnnotation = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var VideoAnnotationResults = { +const VideoAnnotationResults = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -498,7 +498,7 @@ var VideoAnnotationResults = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var AnnotateVideoResponse = { +const AnnotateVideoResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -527,7 +527,7 @@ var AnnotateVideoResponse = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var VideoAnnotationProgress = { +const VideoAnnotationProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -545,7 +545,7 @@ var VideoAnnotationProgress = { * @memberof google.cloud.videointelligence.v1beta2 * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} */ -var AnnotateVideoProgress = { +const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -555,7 +555,7 @@ var AnnotateVideoProgress = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta2 */ -var Feature = { +const Feature = { /** * Unspecified. @@ -589,7 +589,7 @@ var Feature = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta2 */ -var LabelDetectionMode = { +const LabelDetectionMode = { /** * Unspecified. @@ -618,7 +618,7 @@ var LabelDetectionMode = { * @enum {number} * @memberof google.cloud.videointelligence.v1beta2 */ -var Likelihood = { +const Likelihood = { /** * Unspecified likelihood. diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js index 3ea5c376abb..c03ce2fb3df 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js @@ -92,6 +92,6 @@ * @memberof google.protobuf * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} */ -var Duration = { +const Duration = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 5aa1e3e90fd..6b73c09e508 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -72,13 +72,13 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -89,14 +89,14 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1beta2/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -116,10 +116,10 @@ class VideoIntelligenceServiceClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var annotateVideoResponse = protoFilesRoot.lookup( + const annotateVideoResponse = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' ); - var annotateVideoMetadata = protoFilesRoot.lookup( + const annotateVideoMetadata = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' ); @@ -132,7 +132,7 @@ class VideoIntelligenceServiceClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', gapicConfig, opts.clientConfig, @@ -146,20 +146,20 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. - var videoIntelligenceServiceStub = gaxGrpc.createStub( + const videoIntelligenceServiceStub = gaxGrpc.createStub( protos.google.cloud.videointelligence.v1beta2.VideoIntelligenceService, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (let methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.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); } ), @@ -261,14 +261,14 @@ class VideoIntelligenceServiceClient { * * const videoIntelligence = require('@google-cloud/video-intelligence'); * - * var client = new videoIntelligence.v1beta2.VideoIntelligenceServiceClient({ + * const client = new videoIntelligence.v1beta2.VideoIntelligenceServiceClient({ * // optional auth parameters. * }); * - * var inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -276,30 +276,30 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -307,8 +307,8 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index bcd79fedc26..771b44aa26e 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -62,7 +62,7 @@ * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var AnnotateVideoRequest = { +const AnnotateVideoRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -100,7 +100,7 @@ var AnnotateVideoRequest = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var VideoContext = { +const VideoContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var VideoContext = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var LabelDetectionConfig = { +const LabelDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -144,7 +144,7 @@ var LabelDetectionConfig = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var ShotChangeDetectionConfig = { +const ShotChangeDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -160,7 +160,7 @@ var ShotChangeDetectionConfig = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var ExplicitContentDetectionConfig = { +const ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -183,7 +183,7 @@ var ExplicitContentDetectionConfig = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var VideoSegment = { +const VideoSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -202,7 +202,7 @@ var VideoSegment = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var LabelSegment = { +const LabelSegment = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -222,7 +222,7 @@ var LabelSegment = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var LabelFrame = { +const LabelFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -244,7 +244,7 @@ var LabelFrame = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var Entity = { +const Entity = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -278,7 +278,7 @@ var Entity = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var LabelAnnotation = { +const LabelAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -300,7 +300,7 @@ var LabelAnnotation = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var ExplicitContentFrame = { +const ExplicitContentFrame = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -318,7 +318,7 @@ var ExplicitContentFrame = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var ExplicitContentAnnotation = { +const ExplicitContentAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -372,7 +372,7 @@ var ExplicitContentAnnotation = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var VideoAnnotationResults = { +const VideoAnnotationResults = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -390,7 +390,7 @@ var VideoAnnotationResults = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var AnnotateVideoResponse = { +const AnnotateVideoResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -419,7 +419,7 @@ var AnnotateVideoResponse = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var VideoAnnotationProgress = { +const VideoAnnotationProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -437,7 +437,7 @@ var VideoAnnotationProgress = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var AnnotateVideoProgress = { +const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -485,7 +485,7 @@ var AnnotateVideoProgress = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var SpeechTranscriptionConfig = { +const SpeechTranscriptionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -505,7 +505,7 @@ var SpeechTranscriptionConfig = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var SpeechContext = { +const SpeechContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -524,7 +524,7 @@ var SpeechContext = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var SpeechTranscription = { +const SpeechTranscription = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -551,7 +551,7 @@ var SpeechTranscription = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var SpeechRecognitionAlternative = { +const SpeechRecognitionAlternative = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -583,7 +583,7 @@ var SpeechRecognitionAlternative = { * @memberof google.cloud.videointelligence.v1p1beta1 * @see [google.cloud.videointelligence.v1p1beta1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} */ -var WordInfo = { +const WordInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -593,7 +593,7 @@ var WordInfo = { * @enum {number} * @memberof google.cloud.videointelligence.v1p1beta1 */ -var Feature = { +const Feature = { /** * Unspecified. @@ -627,7 +627,7 @@ var Feature = { * @enum {number} * @memberof google.cloud.videointelligence.v1p1beta1 */ -var LabelDetectionMode = { +const LabelDetectionMode = { /** * Unspecified. @@ -656,7 +656,7 @@ var LabelDetectionMode = { * @enum {number} * @memberof google.cloud.videointelligence.v1p1beta1 */ -var Likelihood = { +const Likelihood = { /** * Unspecified likelihood. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js index 3ea5c376abb..c03ce2fb3df 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js @@ -92,6 +92,6 @@ * @memberof google.protobuf * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} */ -var Duration = { +const Duration = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index f53fdcdcdc4..81231d06fb6 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -72,13 +72,13 @@ class VideoIntelligenceServiceClient { // 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}`, @@ -89,14 +89,14 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/videointelligence/v1p1beta1/video_intelligence.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -116,10 +116,10 @@ class VideoIntelligenceServiceClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var annotateVideoResponse = protoFilesRoot.lookup( + const annotateVideoResponse = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' ); - var annotateVideoMetadata = protoFilesRoot.lookup( + const annotateVideoMetadata = protoFilesRoot.lookup( 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' ); @@ -132,7 +132,7 @@ class VideoIntelligenceServiceClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', gapicConfig, opts.clientConfig, @@ -146,20 +146,20 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService. - var videoIntelligenceServiceStub = gaxGrpc.createStub( + const videoIntelligenceServiceStub = gaxGrpc.createStub( protos.google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (let methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.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); } ), @@ -261,14 +261,14 @@ class VideoIntelligenceServiceClient { * * const videoIntelligence = require('@google-cloud/video-intelligence'); * - * var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ + * const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ * // optional auth parameters. * }); * - * var inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -276,30 +276,30 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; - * var featuresElement = 'LABEL_DETECTION'; - * var features = [featuresElement]; - * var request = { + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { * inputUri: inputUri, * features: features, * }; @@ -307,8 +307,8 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 2b44f38b13e..98e1478a85e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -18,14 +18,14 @@ const assert = require('assert'); const videoIntelligenceModule = 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('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -33,16 +33,16 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( @@ -53,7 +53,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -66,7 +66,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -74,10 +74,10 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -92,7 +92,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -106,7 +106,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -127,7 +127,7 @@ describe('VideoIntelligenceServiceClient', () => { 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-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index e19c91d2dfa..beb3ce95dec 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -18,14 +18,14 @@ const assert = require('assert'); const videointelligenceModule = 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('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -33,16 +33,16 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( @@ -53,7 +53,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -66,7 +66,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -74,10 +74,10 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -92,7 +92,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -106,7 +106,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -127,7 +127,7 @@ describe('VideoIntelligenceServiceClient', () => { 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-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index b95d496fdbc..befa16c4c00 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -18,14 +18,14 @@ const assert = require('assert'); const videoIntelligenceModule = 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('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -33,16 +33,16 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( @@ -53,7 +53,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -66,7 +66,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -74,10 +74,10 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -92,7 +92,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -106,7 +106,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -127,7 +127,7 @@ describe('VideoIntelligenceServiceClient', () => { 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-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index bdb48809016..c9e7ac6cc78 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -18,14 +18,14 @@ const assert = require('assert'); const videoIntelligenceModule = 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('VideoIntelligenceServiceClient', () => { describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { - var client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -33,16 +33,16 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( @@ -53,7 +53,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -66,7 +66,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with error', done => { - var client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -74,10 +74,10 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -92,7 +92,7 @@ describe('VideoIntelligenceServiceClient', () => { client .annotateVideo(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -106,7 +106,7 @@ describe('VideoIntelligenceServiceClient', () => { }); it('has longrunning decoder functions', () => { - var client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -127,7 +127,7 @@ describe('VideoIntelligenceServiceClient', () => { 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 34bc4d756108b3945b28bcf4b84c86835c0a2f01 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 17 Sep 2018 16:08:29 -0700 Subject: [PATCH 098/418] feat: release v1p2beta1 client (Object tracking and Text detecting beta) (#98) * add v1p2beta1 to synth.py * generate v1p2beta1 of the library * export v1p2beta1 from src/index.js --- .../v1p2beta1/video_intelligence.proto | 466 +++++++++++ .../src/index.js | 19 + .../v1p2beta1/doc_video_intelligence.js | 770 ++++++++++++++++++ .../doc/google/longrunning/doc_operations.js | 147 ++++ .../v1p2beta1/doc/google/protobuf/doc_any.js | 136 ++++ .../doc/google/protobuf/doc_duration.js | 97 +++ .../v1p2beta1/doc/google/rpc/doc_status.js | 92 +++ .../src/v1p2beta1/index.js | 19 + .../video_intelligence_service_client.js | 345 ++++++++ ...eo_intelligence_service_client_config.json | 31 + .../google-cloud-videointelligence/synth.py | 2 +- .../test/gapic-v1p2beta1.js | 143 ++++ 12 files changed, 2266 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto new file mode 100644 index 00000000000..2c1af2efddd --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -0,0 +1,466 @@ +// 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.videointelligence.v1p2beta1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P2Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p2beta1;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1p2beta1"; +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p2beta1"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p2beta1/videos:annotate" + body: "*" + }; + } +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. + // If unset, the input video(s) should be specified via `input_uri`. + // If set, `input_uri` should be unset. + bytes input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video is + // treated as a single segment. + repeated VideoSegment segments = 1; + + // Config for LABEL_DETECTION. + LabelDetectionConfig label_detection_config = 2; + + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig shot_change_detection_config = 3; + + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig explicit_content_detection_config = 4; + + // Config for TEXT_DETECTION. + TextDetectionConfig text_detection_config = 8; +} + +// Config for LABEL_DETECTION. +message LabelDetectionConfig { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 1; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + bool stationary_camera = 2; + + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// Config for SHOT_CHANGE_DETECTION. +message ShotChangeDetectionConfig { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for TEXT_DETECTION. +message TextDetectionConfig { + // Language hint can be specified if the language to be detected is known a + // priori. It can increase the accuracy of the detection. Language hint must + // be language code in BCP-47 format. + // + // Automatic language detection is performed if no hint is provided. + repeated string language_hints = 1; +} + +// Video segment. +message VideoSegment { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + google.protobuf.Duration start_time_offset = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + google.protobuf.Duration end_time_offset = 2; +} + +// Video segment level annotation results for label detection. +message LabelSegment { + // Video segment where a label was detected. + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Video frame level annotation results for label detection. +message LabelFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Detected entity from video analysis. +message Entity { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string entity_id = 1; + + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 2; + + // Language code for `description` in BCP-47 format. + string language_code = 3; +} + +// Label annotation. +message LabelAnnotation { + // Detected entity. + Entity entity = 1; + + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + repeated Entity category_entities = 2; + + // All video segments where a label was detected. + repeated LabelSegment segments = 3; + + // All video frames where a label was detected. + repeated LabelFrame frames = 4; +} + +// Video frame level annotation results for explicit content. +message ExplicitContentFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Likelihood of the pornography content.. + Likelihood pornography_likelihood = 2; +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +message ExplicitContentAnnotation { + // All video frames where explicit content was detected. + repeated ExplicitContentFrame frames = 1; +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +message NormalizedBoundingBox { + // Left X coordinate. + float left = 1; + + // Top Y coordinate. + float top = 2; + + // Right X coordinate. + float right = 3; + + // Bottom Y coordinate. + float bottom = 4; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + repeated LabelAnnotation segment_label_annotations = 2; + + // Label annotations on shot level. + // There is exactly one element for each unique label. + repeated LabelAnnotation shot_label_annotations = 3; + + // Label annotations on frame level. + // There is exactly one element for each unique label. + repeated LabelAnnotation frame_label_annotations = 4; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 6; + + // Explicit content annotation. + ExplicitContentAnnotation explicit_annotation = 7; + + // OCR text detection and tracking. + // Annotations for list of detected text snippets. Each will have list of + // frame information associated with it. + repeated TextAnnotation text_annotations = 12; + + // Annotations for list of objects detected and tracked in video. + repeated ObjectTrackingAnnotation object_annotations = 14; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 9; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. Guaranteed to be + // 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// 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; +} + +// Normalized bounding polygon for text (that might not be aligned with axis). +// Contains list of the corner points in clockwise order starting from +// top-left corner. For example, for a rectangular bounding box: +// When the text is horizontal it might look like: +// 0----1 +// | | +// 3----2 +// +// When it's clockwise 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). Note that values can be less +// than 0, or greater than 1 due to trignometric calculations for location of +// the box. +message NormalizedBoundingPoly { + // Normalized vertices of the bounding polygon. + repeated NormalizedVertex vertices = 1; +} + +// Video segment level annotation results for text detection. +message TextSegment { + // Video segment where a text snippet was detected. + VideoSegment segment = 1; +} + +// Video frame level annotation results for text annotation (OCR). +// Contains information regarding timestamp and bounding box locations for the +// frames containing detected OCR text snippets. +message TextFrame { + // Bounding polygon of the detected text for this frame. + NormalizedBoundingPoly rotated_bounding_box = 1; + + // Timestamp of this frame. + google.protobuf.Duration time_offset = 2; +} + +// Annotations related to one detected OCR text snippet. This will contain the +// corresponding text, confidence value, and frame level information for each +// detection. +message TextAnnotation { + // The detected text. + string text = 1; + + // Confidence for the track of detected text. It is calculated as the highest + // over all frames where OCR detected text appears. + float confidence = 2; + + // Information related to the frames where OCR detected text appears. + repeated TextFrame frames = 3; + + // All video segments where OCR detected text appears. + repeated TextSegment segments = 4; +} + +// Video frame level annotations for object detection and tracking. This field +// stores per frame location, time offset, and confidence. +message ObjectTrackingFrame { + // The normalized bounding box location of this object track for the frame. + NormalizedBoundingBox normalized_bounding_box = 1; + + // The timestamp of the frame in microseconds. + google.protobuf.Duration time_offset = 2; +} + +// Annotations corresponding to one tracked object. +message ObjectTrackingAnnotation { + // Entity to specify the object category that this track is labeled as. + Entity entity = 1; + + // Object category's labeling confidence of this track. + float confidence = 4; + + // Information corresponding to all frames where this object track appears. + repeated ObjectTrackingFrame frames = 2; + + // Each object track corresponds to one video segment where it appears. + VideoSegment segment = 3; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // OCR text detection and tracking. + TEXT_DETECTION = 7; + + // Object detection and tracking. + OBJECT_TRACKING = 9; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 748c815f7f4..7de45c3062d 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -39,6 +39,9 @@ /** * @namespace google.cloud.videointelligence.v1p1beta1 */ +/** + * @namespace google.cloud.videointelligence.v1p2beta1 + */ 'use strict'; @@ -48,6 +51,7 @@ const gapic = Object.freeze({ v1beta2: require('./v1beta2'), v1beta1: require('./v1beta1'), v1p1beta1: require('./v1p1beta1'), + v1p2beta1: require('./v1p2beta1'), }); /** @@ -67,6 +71,14 @@ const gapic = Object.freeze({ * particular backend service version. It exports: * - `VideoIntelligenceServiceClient` - Reference to * {@link v1beta1.VideoIntelligenceServiceClient} + * - `v1p1beta1` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1p1beta1.VideoIntelligenceServiceClient} + * - `v1p2beta1` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1p2beta1.VideoIntelligenceServiceClient} * * @module {object} @google-cloud/video-intelligence * @alias nodejs-video-intelligence @@ -126,5 +138,12 @@ module.exports.v1beta1 = gapic.v1beta1; */ module.exports.v1p1beta1 = gapic.v1p1beta1; +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1p2beta1.VideoIntelligenceServiceClient} + */ +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-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js new file mode 100644 index 00000000000..017dba339cf --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js @@ -0,0 +1,770 @@ +// 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. + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} + * + * @property {Object} textDetectionConfig + * Config for TEXT_DETECTION. + * + * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} + * + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION. + * + * @property {number} labelDetectionMode + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. + * If unspecified, defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p2beta1.LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * Should be used with `SHOT_AND_FRAME_MODE` enabled. + * + * @property {string} model + * Model to use for label detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef LabelDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const LabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION. + * + * @property {string} model + * Model to use for shot change detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION. + * + * @property {string} model + * Model to use for explicit content detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for TEXT_DETECTION. + * + * @property {string[]} languageHints + * Language hint can be specified if the language to be detected is known a + * priori. It can increase the accuracy of the detection. Language hint must + * be language code in BCP-47 format. + * + * Automatic language detection is performed if no hint is provided. + * + * @typedef TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const TextDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {Object} startTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the start of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the end of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for label detection. + * + * @property {Object} segment + * Video segment where a label was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelSegment + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const LabelSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for label detection. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelFrame + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const LabelFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Detected entity from video analysis. + * + * @property {string} entityId + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @typedef Entity + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const Entity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {Object} entity + * Detected entity. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} + * + * @property {Object[]} categoryEntities + * Common categories for the detected entity. + * E.g. when the label is `Terrier` the category is likely `dog`. And in some + * cases there might be more than one categories e.g. `Terrier` could also be + * a `pet`. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} + * + * @property {Object[]} segments + * All video segments where a label was detected. + * + * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p2beta1.LabelSegment} + * + * @property {Object[]} frames + * All video frames where a label was detected. + * + * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p2beta1.LabelFrame} + * + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for explicit content. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} pornographyLikelihood + * Likelihood of the pornography content.. + * + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p2beta1.Likelihood} + * + * @typedef ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ExplicitContentFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Explicit content annotation (based on per-frame visual signals only). + * If no explicit content has been detected in a frame, no annotations are + * present for that frame. + * + * @property {Object[]} frames + * All video frames where explicit content was detected. + * + * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} + * + * @typedef ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ExplicitContentAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding box. + * The normalized vertex coordinates are relative to the original image. + * Range: [0, 1]. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @typedef NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const NormalizedBoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} segmentLabelAnnotations + * Label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} + * + * @property {Object[]} shotLabelAnnotations + * Label annotations on shot level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} + * + * @property {Object[]} frameLabelAnnotations + * Label annotations on frame level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} + * + * @property {Object} explicitAnnotation + * Explicit content annotation. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} + * + * @property {Object[]} textAnnotations + * OCR text detection and tracking. + * Annotations for list of detected text snippets. Each will have list of + * frame information associated with it. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1p2beta1.TextAnnotation} + * + * @property {Object[]} objectAnnotations + * Annotations for list of objects detected and tracked in video. + * + * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} + * + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. Guaranteed to be + * 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} + * + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const AnnotateVideoProgress = { + // 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.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding polygon for text (that might not be aligned with axis). + * Contains list of the corner points in clockwise order starting from + * top-left corner. For example, for a rectangular bounding box: + * When the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * + * When it's clockwise 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). Note that values can be less + * than 0, or greater than 1 due to trignometric calculations for location of + * the box. + * + * @property {Object[]} vertices + * Normalized vertices of the bounding polygon. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p2beta1.NormalizedVertex} + * + * @typedef NormalizedBoundingPoly + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const NormalizedBoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for text detection. + * + * @property {Object} segment + * Video segment where a text snippet was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} + * + * @typedef TextSegment + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const TextSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for text annotation (OCR). + * Contains information regarding timestamp and bounding box locations for the + * frames containing detected OCR text snippets. + * + * @property {Object} rotatedBoundingBox + * Bounding polygon of the detected text for this frame. + * + * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly} + * + * @property {Object} timeOffset + * Timestamp of this frame. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef TextFrame + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const TextFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations related to one detected OCR text snippet. This will contain the + * corresponding text, confidence value, and frame level information for each + * detection. + * + * @property {string} text + * The detected text. + * + * @property {number} confidence + * Confidence for the track of detected text. It is calculated as the highest + * over all frames where OCR detected text appears. + * + * @property {Object[]} frames + * Information related to the frames where OCR detected text appears. + * + * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p2beta1.TextFrame} + * + * @property {Object[]} segments + * All video segments where OCR detected text appears. + * + * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1p2beta1.TextSegment} + * + * @typedef TextAnnotation + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotations for object detection and tracking. This field + * stores per frame location, time offset, and confidence. + * + * @property {Object} normalizedBoundingBox + * The normalized bounding box location of this object track for the frame. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} + * + * @property {Object} timeOffset + * The timestamp of the frame in microseconds. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef ObjectTrackingFrame + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ObjectTrackingFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations corresponding to one tracked object. + * + * @property {Object} entity + * Entity to specify the object category that this track is labeled as. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} + * + * @property {number} confidence + * Object category's labeling confidence of this track. + * + * @property {Object[]} frames + * Information corresponding to all frames where this object track appears. + * + * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} + * + * @property {Object} segment + * Each object track corresponds to one video segment where it appears. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} + * + * @typedef ObjectTrackingAnnotation + * @memberof google.cloud.videointelligence.v1p2beta1 + * @see [google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} + */ +const ObjectTrackingAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p2beta1 + */ +const Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + EXPLICIT_CONTENT_DETECTION: 3, + + /** + * OCR text detection and tracking. + */ + TEXT_DETECTION: 7, + + /** + * Object detection and tracking. + */ + OBJECT_TRACKING: 9 +}; + +/** + * Label detection mode. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p2beta1 + */ +const LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p2beta1 + */ +const Likelihood = { + + /** + * Unspecified likelihood. + */ + LIKELIHOOD_UNSPECIFIED: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..4af5d7d3574 --- /dev/null +++ b/packages/google-cloud-videointelligence/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} + */ +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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..3accb1fc0d8 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -0,0 +1,136 @@ +// 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 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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js new file mode 100644 index 00000000000..c03ce2fb3df --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js @@ -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 +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT 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 Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + * + * @property {number} seconds + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + * + * @property {number} nanos + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + * + * @typedef Duration + * @memberof google.protobuf + * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} + */ +const Duration = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..13cfcab1021 --- /dev/null +++ b/packages/google-cloud-videointelligence/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} + */ +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-videointelligence/src/v1p2beta1/index.js b/packages/google-cloud-videointelligence/src/v1p2beta1/index.js new file mode 100644 index 00000000000..22af92ed0b9 --- /dev/null +++ b/packages/google-cloud-videointelligence/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); + +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js new file mode 100644 index 00000000000..a5a766cfda1 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -0,0 +1,345 @@ +// 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('./video_intelligence_service_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 implements Google Cloud Video Intelligence API. + * + * @class + * @memberof v1p2beta1 + */ +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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/videointelligence/v1p2beta1/video_intelligence.proto' + ) + ); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1p2beta1/video_intelligence.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 annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' + ); + const annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress' + ); + + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', + 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.videointelligence.v1p2beta1.VideoIntelligenceService. + const videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (let methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.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 'videointelligence.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']; + } + + /** + * 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 -- + // ------------------- + + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} [request.inputUri] + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {string} [request.inputContent] + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} [request.features] + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videoIntelligence = require('@google-cloud/video-intelligence'); + * + * const client = new videoIntelligence.v1p2beta1.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(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); + * }); + */ + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } +} + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..c16a1980989 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index edc1b33eb52..baa93180fd5 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -8,7 +8,7 @@ gapic = gcp.GAPICGenerator() common_templates = gcp.CommonTemplates() -versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1"] +versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1", "v1p2beta1"] for version in versions: library = gapic.node_library( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js new file mode 100644 index 00000000000..9161bb7f570 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js @@ -0,0 +1,143 @@ +// 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 videoIntelligenceModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +const error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', () => { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', done => { + const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { + inputUri: inputUri, + features: features, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .annotateVideo(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes annotateVideo with error', done => { + const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { + inputUri: inputUri, + features: features, + }; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .annotateVideo(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 videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof + Function + ); + }); + }); +}); + +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 f6a35a71543d64e5e4e32831529348deb02012b5 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 17 Sep 2018 16:17:12 -0700 Subject: [PATCH 099/418] Release v1.4.0 (#99) --- .../CHANGELOG.md | 21 +++++++++++++++++++ .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/CHANGELOG.md diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md new file mode 100644 index 00000000000..b03704de195 --- /dev/null +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -0,0 +1,21 @@ +# Changelog + +[npm history][1] + +[1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions + +## v1.4.0 + +### New Features +- feat: release v1p2beta1 client (Object tracking and Text detecting beta) ([#98](https://github.com/googleapis/nodejs-video-intelligence/pull/98)) + +### Dependencies +- fix(deps): update dependency google-gax to ^0.20.0 ([#96](https://github.com/googleapis/nodejs-video-intelligence/pull/96)) + +### Internal / Testing Changes +- Switch to let/const ([#97](https://github.com/googleapis/nodejs-video-intelligence/pull/97)) +- test: throw on deprecation ([#72](https://github.com/googleapis/nodejs-video-intelligence/pull/72)) +- Update CI config ([#95](https://github.com/googleapis/nodejs-video-intelligence/pull/95)) +- Retry npm install in CI ([#93](https://github.com/googleapis/nodejs-video-intelligence/pull/93)) +- add templates to synth.py ([#91](https://github.com/googleapis/nodejs-video-intelligence/pull/91)) + diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4cae7df91ec..b20a6551eaa 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a7f34cab93a..8cdab3b4182 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -14,7 +14,7 @@ "test": "ava -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.3.0", + "@google-cloud/video-intelligence": "^1.4.0", "yargs": "^12.0.0" }, "devDependencies": { From 21630eff5a8c6ef0658ffa0347c539aaaa62673e Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 18 Sep 2018 10:51:19 -0700 Subject: [PATCH 100/418] Enable no-var in eslint (#101) --- .../.eslintrc.yml | 1 + .../video_intelligence_service_smoke_test.js | 54 ++++++++++--------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/packages/google-cloud-videointelligence/.eslintrc.yml b/packages/google-cloud-videointelligence/.eslintrc.yml index bed57fbc42c..65f1dce6c0c 100644 --- a/packages/google-cloud-videointelligence/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/.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-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index 75fd04c54b5..4803fddb46b 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -18,23 +18,26 @@ describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { const videoIntelligence = require('../src'); - var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ - // optional auth parameters. - }); - - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + let client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( + { + // optional auth parameters. + } + ); + + let inputUri = 'gs://demomaker/cat.mp4'; + let featuresElement = 'LABEL_DETECTION'; + let features = [featuresElement]; + let request = { inputUri: inputUri, features: features, }; // Handle the operation using the promise pattern. - client.annotateVideo(request) + client + .annotateVideo(request) .then(responses => { - var operation = responses[0]; - var initialApiResponse = responses[1]; + let operation = responses[0]; + let initialApiResponse = responses[1]; console.log(operation); console.log(initialApiResponse); @@ -43,13 +46,13 @@ describe('VideoIntelligenceServiceSmokeTest', () => { }) .then(responses => { // The final result of the operation. - var result = responses[0]; + let result = responses[0]; // The metadata value of the completed operation. - var metadata = responses[1]; + let metadata = responses[1]; // The response of the api call returning the complete operation. - var finalApiResponse = responses[2]; + let finalApiResponse = responses[2]; console.log(result); console.log(metadata); @@ -62,23 +65,26 @@ describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { const videoIntelligence = require('../src'); - var client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ - // optional auth parameters. - }); + let client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( + { + // optional auth parameters. + } + ); - var inputUri = 'gs://demomaker/cat.mp4'; - var featuresElement = 'LABEL_DETECTION'; - var features = [featuresElement]; - var request = { + let inputUri = 'gs://demomaker/cat.mp4'; + let featuresElement = 'LABEL_DETECTION'; + let features = [featuresElement]; + let request = { inputUri: inputUri, features: features, }; // Handle the operation using the event emitter pattern. - client.annotateVideo(request) + client + .annotateVideo(request) .then(responses => { - var operation = responses[0]; - var initialApiResponse = responses[1]; + let operation = responses[0]; + let initialApiResponse = responses[1]; // Adding a listener for the "complete" event starts polling for the // completion of the operation. From f3651ae518b7ceaf18ae08192fc42b05eebd40b5 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 20 Sep 2018 12:29:40 -0700 Subject: [PATCH 101/418] Enable prefer-const in the eslint config (#102) --- .../.eslintrc.yml | 1 + .../video_intelligence_service_smoke_test.js | 2 +- .../v1/video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 2 +- .../video_intelligence_service_smoke_test.js | 34 +++++++++---------- 8 files changed, 24 insertions(+), 23 deletions(-) diff --git a/packages/google-cloud-videointelligence/.eslintrc.yml b/packages/google-cloud-videointelligence/.eslintrc.yml index 65f1dce6c0c..73eeec27612 100644 --- a/packages/google-cloud-videointelligence/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/.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-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js index 443f0b35faf..82c2d8e034f 100644 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js @@ -15,5 +15,5 @@ 'use strict'; describe('VideoIntelligenceServiceSmokeTest', () => { - $unhandledCase: LongRunningOptionalArrayMethod$ + LongRunningOptionalArrayMethod$; }); diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 6ed0c6467e6..1b94364716c 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -154,7 +154,7 @@ class VideoIntelligenceServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (let methodName of videoIntelligenceServiceStubMethods) { + for (const methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.then( stub => diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 90327fc9706..c4d1955b3aa 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -154,7 +154,7 @@ class VideoIntelligenceServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (let methodName of videoIntelligenceServiceStubMethods) { + for (const methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.then( stub => diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 6b73c09e508..06e598197f2 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -154,7 +154,7 @@ class VideoIntelligenceServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (let methodName of videoIntelligenceServiceStubMethods) { + for (const methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.then( stub => diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 81231d06fb6..e89e18fd2f1 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -154,7 +154,7 @@ class VideoIntelligenceServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (let methodName of videoIntelligenceServiceStubMethods) { + for (const methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.then( stub => diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index a5a766cfda1..211e5255cee 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -154,7 +154,7 @@ class VideoIntelligenceServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (let methodName of videoIntelligenceServiceStubMethods) { + for (const methodName of videoIntelligenceServiceStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( videoIntelligenceServiceStub.then( stub => diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index 4803fddb46b..77af73a780f 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -18,16 +18,16 @@ describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { const videoIntelligence = require('../src'); - let client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( { // optional auth parameters. } ); - let inputUri = 'gs://demomaker/cat.mp4'; - let featuresElement = 'LABEL_DETECTION'; - let features = [featuresElement]; - let request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -36,8 +36,8 @@ describe('VideoIntelligenceServiceSmokeTest', () => { client .annotateVideo(request) .then(responses => { - let operation = responses[0]; - let initialApiResponse = responses[1]; + const operation = responses[0]; + const initialApiResponse = responses[1]; console.log(operation); console.log(initialApiResponse); @@ -46,13 +46,13 @@ describe('VideoIntelligenceServiceSmokeTest', () => { }) .then(responses => { // The final result of the operation. - let result = responses[0]; + const result = responses[0]; // The metadata value of the completed operation. - let metadata = responses[1]; + const metadata = responses[1]; // The response of the api call returning the complete operation. - let finalApiResponse = responses[2]; + const finalApiResponse = responses[2]; console.log(result); console.log(metadata); @@ -65,16 +65,16 @@ describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { const videoIntelligence = require('../src'); - let client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( { // optional auth parameters. } ); - let inputUri = 'gs://demomaker/cat.mp4'; - let featuresElement = 'LABEL_DETECTION'; - let features = [featuresElement]; - let request = { + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { inputUri: inputUri, features: features, }; @@ -83,8 +83,8 @@ describe('VideoIntelligenceServiceSmokeTest', () => { client .annotateVideo(request) .then(responses => { - let operation = responses[0]; - let 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. From fc94168d37e8c4f84c7dd5f06869a9a67820d543 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 24 Sep 2018 17:00:38 -0700 Subject: [PATCH 102/418] test: remove appveyor config (#106) --- .../.appveyor.yml | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.appveyor.yml diff --git a/packages/google-cloud-videointelligence/.appveyor.yml b/packages/google-cloud-videointelligence/.appveyor.yml deleted file mode 100644 index 24082152655..00000000000 --- a/packages/google-cloud-videointelligence/.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 c77755c06948f1bdca551e14647f67b473cc241b Mon Sep 17 00:00:00 2001 From: DPE bot Date: Thu, 27 Sep 2018 12:20:56 -0700 Subject: [PATCH 103/418] Update CI config (#105) --- .../.circleci/npm-install-retry.js | 2 +- packages/google-cloud-videointelligence/samples/package.json | 1 - .../smoke-test/video_intelligence_service_smoke_test.js | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js b/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js index ae3220d7348..3240aa2cbf2 100755 --- a/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 8cdab3b4182..08c8d857708 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -9,7 +9,6 @@ "node": ">=8" }, "scripts": { - "ava": "ava -T 20s --verbose test/*.test.js ./system-test/*.test.js", "cover": "nyc --reporter=lcov --cache ava -T 20s --verbose test/*.test.js ./system-test/*.test.js && nyc report", "test": "ava -T 5m --verbose system-test/*.test.js" }, diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js index 82c2d8e034f..443f0b35faf 100644 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js @@ -15,5 +15,5 @@ 'use strict'; describe('VideoIntelligenceServiceSmokeTest', () => { - LongRunningOptionalArrayMethod$; + $unhandledCase: LongRunningOptionalArrayMethod$ }); From 943834ffceb14b613aaf32af97cf0fa3fbc77ae8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 1 Oct 2018 05:02:37 -0700 Subject: [PATCH 104/418] chore(deps): update dependency eslint-plugin-prettier to v3 (#108) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b20a6551eaa..822d1d8d70e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -66,7 +66,7 @@ "eslint": "^5.0.0", "eslint-config-prettier": "^3.0.0", "eslint-plugin-node": "^7.0.0", - "eslint-plugin-prettier": "^2.6.0", + "eslint-plugin-prettier": "^3.0.0", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", From ec069a47b05307e4f2153b2257177d34c50658ce Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 2 Oct 2018 08:18:59 -0700 Subject: [PATCH 105/418] Update kokoro config (#109) --- packages/google-cloud-videointelligence/.circleci/config.yml | 2 -- packages/google-cloud-videointelligence/codecov.yaml | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/codecov.yaml diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 8af6a4d0489..da54155fc57 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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-videointelligence/codecov.yaml b/packages/google-cloud-videointelligence/codecov.yaml new file mode 100644 index 00000000000..5724ea9478d --- /dev/null +++ b/packages/google-cloud-videointelligence/codecov.yaml @@ -0,0 +1,4 @@ +--- +codecov: + ci: + - source.cloud.google.com From befc9fd3ef86a7d8666097c1f0669272a1464fc9 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Wed, 10 Oct 2018 08:50:06 -0700 Subject: [PATCH 106/418] chore: minor generator changes (#110) --- .../v1p2beta1/video_intelligence.proto | 16 ++++++++-------- .../v1p2beta1/doc_video_intelligence.js | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index 2c1af2efddd..ce540c90c08 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -352,6 +352,13 @@ message NormalizedBoundingPoly { message TextSegment { // Video segment where a text snippet was detected. VideoSegment segment = 1; + + // Confidence for the track of detected text. It is calculated as the highest + // over all frames where OCR detected text appears. + float confidence = 2; + + // Information related to the frames where OCR detected text appears. + repeated TextFrame frames = 3; } // Video frame level annotation results for text annotation (OCR). @@ -372,15 +379,8 @@ message TextAnnotation { // The detected text. string text = 1; - // Confidence for the track of detected text. It is calculated as the highest - // over all frames where OCR detected text appears. - float confidence = 2; - - // Information related to the frames where OCR detected text appears. - repeated TextFrame frames = 3; - // All video segments where OCR detected text appears. - repeated TextSegment segments = 4; + repeated TextSegment segments = 2; } // Video frame level annotations for object detection and tracking. This field diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index 017dba339cf..93622c9836d 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js @@ -550,6 +550,15 @@ const NormalizedBoundingPoly = { * * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} * + * @property {number} confidence + * Confidence for the track of detected text. It is calculated as the highest + * over all frames where OCR detected text appears. + * + * @property {Object[]} frames + * Information related to the frames where OCR detected text appears. + * + * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p2beta1.TextFrame} + * * @typedef TextSegment * @memberof google.cloud.videointelligence.v1p2beta1 * @see [google.cloud.videointelligence.v1p2beta1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} @@ -589,15 +598,6 @@ const TextFrame = { * @property {string} text * The detected text. * - * @property {number} confidence - * Confidence for the track of detected text. It is calculated as the highest - * over all frames where OCR detected text appears. - * - * @property {Object[]} frames - * Information related to the frames where OCR detected text appears. - * - * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p2beta1.TextFrame} - * * @property {Object[]} segments * All video segments where OCR detected text appears. * From d7d725096f5b583a303024794debec9b4c85a414 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 19 Oct 2018 11:30:35 -0700 Subject: [PATCH 107/418] Release v1.4.1 (#113) --- .../google-cloud-videointelligence/CHANGELOG.md | 14 ++++++++++++++ .../google-cloud-videointelligence/package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index b03704de195..e3e28404621 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,20 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## v1.4.1 + +### Implementation Changes +- chore: minor generator changes ([#110](https://github.com/googleapis/nodejs-video-intelligence/pull/110)) + +### Internal / Testing Changes +- build: fix codecov uploading on Kokoro ([#112](https://github.com/googleapis/nodejs-video-intelligence/pull/112)) +- Update kokoro config ([#109](https://github.com/googleapis/nodejs-video-intelligence/pull/109)) +- chore(deps): update dependency eslint-plugin-prettier to v3 ([#108](https://github.com/googleapis/nodejs-video-intelligence/pull/108)) +- Update CI config ([#105](https://github.com/googleapis/nodejs-video-intelligence/pull/105)) +- test: remove appveyor config ([#106](https://github.com/googleapis/nodejs-video-intelligence/pull/106)) +- Enable prefer-const in the eslint config ([#102](https://github.com/googleapis/nodejs-video-intelligence/pull/102)) +- Enable no-var in eslint ([#101](https://github.com/googleapis/nodejs-video-intelligence/pull/101)) + ## v1.4.0 ### New Features diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 822d1d8d70e..a2044e7b46e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.4.0", + "version": "1.4.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 08c8d857708..e0a2f92e8f4 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -13,7 +13,7 @@ "test": "ava -T 5m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.4.0", + "@google-cloud/video-intelligence": "^1.4.1", "yargs": "^12.0.0" }, "devDependencies": { From 7e75e1cd091206290c4b5851365da44b25819d2c Mon Sep 17 00:00:00 2001 From: Nirupa Anantha Kumar Date: Thu, 25 Oct 2018 12:44:42 -0700 Subject: [PATCH 108/418] docs(samples): video beta samples (#123) * Video beta * Video beta object tracking/text detection * Fixing review issues * Inc. -> LLC * trigger kokoro to check issue * debugging sample test failure issue * debugging errors * debugging - attempt 2 * debugging - attempt 3 * debugging attempt - 4 * debugging - attempt 2 * Fixing review comments --- .../.cloud-repo-tools.json | 7 +++ .../samples/README.md | 47 +++++++++++++++++-- .../samples/package.json | 2 +- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/.cloud-repo-tools.json b/packages/google-cloud-videointelligence/.cloud-repo-tools.json index 3ee01e26f85..7413d258955 100644 --- a/packages/google-cloud-videointelligence/.cloud-repo-tools.json +++ b/packages/google-cloud-videointelligence/.cloud-repo-tools.json @@ -11,6 +11,13 @@ "file": "analyze.js", "docs_link": "https://cloud.google.com/video-intelligence/docs", "usage": "node analyze.js --help" + }, + { + "id": "video", + "name": "Video Intelligence Beta", + "file": "analyze.v1p2beta1.js", + "docs_link": "https://cloud.google.com/video-intelligence/docs", + "usage": "node analyze.v1p2beta1.js --help" } ] } diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index c281a9e4576..e72ec5a9dd7 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/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 Video Intelligence API: Node.js Samples @@ -11,6 +13,7 @@ The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) * [Before you begin](#before-you-begin) * [Samples](#samples) * [Video Intelligence](#video-intelligence) + * [Video Intelligence Beta](#video-intelligence-beta) ## Before you begin @@ -32,25 +35,24 @@ __Usage:__ `node analyze.js --help` analyze.js Commands: - analyze.js faces Analyzes faces in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. analyze.js shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. analyze.js labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video Intelligence API. analyze.js labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. analyze.js safe-search Detects explicit content in a video stored in Google Cloud Storage. + analyze.js transcription Extract the video transcription using the Cloud Video Intelligence API. Options: --version Show version number [boolean] --help Show help [boolean] Examples: - node analyze.js faces gs://demomaker/larry_sergey_ice_bucket_short.mp4 node analyze.js shots gs://demomaker/sushi.mp4 node analyze.js labels-gcs gs://demomaker/tomatoes.mp4 node analyze.js labels-file cat.mp4 node analyze.js safe-search gs://demomaker/tomatoes.mp4 + node analyze.js transcription gs://demomaker/tomatoes.mp4 For more information, see https://cloud.google.com/video-intelligence/docs ``` @@ -58,5 +60,42 @@ For more information, see https://cloud.google.com/video-intelligence/docs [video_0_docs]: https://cloud.google.com/video-intelligence/docs [video_0_code]: analyze.js -[shell_img]: //gstatic.com/cloudssh/images/open-btn.png +### Video Intelligence Beta + +View the [source code][video_1_code]. + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) + +__Usage:__ `node analyze.v1p2beta1.js --help` + +``` +analyze.v1p2beta1.js + +Commands: + analyze.v1p2beta1.js video-text-gcs Analyzes text in a video stored in Google Cloud Storage using the + Cloud Video Intelligence API. + analyze.v1p2beta1.js track-objects-gcs Analyzes objects in a video stored in Google Cloud Storage using the + Cloud Video Intelligence API. + analyze.v1p2beta1.js video-text Analyzes text in a video stored in a local file using the Cloud Video + Intelligence API. + analyze.v1p2beta1.js track-objects Analyzes objects in a video stored in a local file using the Cloud + Video Intelligence API. + +Options: + --version Show version number [boolean] + --help Show help [boolean] + +Examples: + node analyze.v1p2beta1.js video-text ./resources/googlework_short.mp4 + node analyze.v1p2beta1.js video-text-gcs gs://nodejs-docs-samples/videos/googlework_short.mp4 + node analyze.v1p2beta1.js track-objects ./resources/cat.mp4 + node analyze.v1p2beta1.js track-objects-gcs gs://nodejs-docs-samples/video/cat.mp4 + +For more information, see https://cloud.google.com/video-intelligence/docs +``` + +[video_1_docs]: https://cloud.google.com/video-intelligence/docs +[video_1_code]: analyze.v1p2beta1.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-video-intelligence&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e0a2f92e8f4..179d4307cc2 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -10,7 +10,7 @@ }, "scripts": { "cover": "nyc --reporter=lcov --cache ava -T 20s --verbose test/*.test.js ./system-test/*.test.js && nyc report", - "test": "ava -T 5m --verbose system-test/*.test.js" + "test": "ava -T 10m --serial --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/video-intelligence": "^1.4.1", From 396b358b913e6d84e599e594f4652e32992d8d9d Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sat, 27 Oct 2018 23:48:44 -0700 Subject: [PATCH 109/418] feat: add speech transcription feat: add speech transcription --- .../v1/video_intelligence.proto | 153 ++++++++++++- .../v1/doc_video_intelligence.js | 211 +++++++++++++++++- 2 files changed, 355 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 67d9168ff94..223e866e53a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -83,8 +83,8 @@ message AnnotateVideoRequest { // Video context and/or feature-specific parameters. message VideoContext { // Video segments to annotate. The segments may overlap and are not required - // to be contiguous or span the whole video. If unspecified, each video - // is treated as a single segment. + // to be contiguous or span the whole video. If unspecified, each video is + // treated as a single segment. repeated VideoSegment segments = 1; // Config for LABEL_DETECTION. @@ -98,6 +98,9 @@ message VideoContext { // Config for FACE_DETECTION. FaceDetectionConfig face_detection_config = 5; + + // Config for SPEECH_TRANSCRIPTION. + SpeechTranscriptionConfig speech_transcription_config = 6; } // Config for LABEL_DETECTION. @@ -299,6 +302,9 @@ message VideoAnnotationResults { // Explicit content annotation. ExplicitContentAnnotation explicit_annotation = 7; + // Speech transcription. + repeated SpeechTranscription speech_transcriptions = 11; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -318,8 +324,8 @@ message VideoAnnotationProgress { // [Google Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; - // Approximate percentage processed thus far. - // Guaranteed to be 100 when fully processed. + // Approximate percentage processed thus far. Guaranteed to be + // 100 when fully processed. int32 progress_percent = 2; // Time when the request was received. @@ -337,6 +343,142 @@ message AnnotateVideoProgress { repeated VideoAnnotationProgress annotation_progress = 1; } +// Config for SPEECH_TRANSCRIPTION. +message SpeechTranscriptionConfig { + // *Required* The language of the supplied audio as a + // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + // Example: "en-US". + // See [Language Support](https://cloud.google.com/speech/docs/languages) + // for a list of the currently supported language codes. + string language_code = 1; + + // *Optional* Maximum number of recognition hypotheses to be returned. + // Specifically, the maximum number of `SpeechRecognitionAlternative` messages + // within each `SpeechTranscription`. The server may return fewer than + // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + // return a maximum of one. If omitted, will return a maximum of one. + int32 max_alternatives = 2; + + // *Optional* If set to `true`, the server will attempt to filter out + // profanities, replacing all but the initial character in each filtered word + // with asterisks, e.g. "f***". If set to `false` or omitted, profanities + // won't be filtered out. + bool filter_profanity = 3; + + // *Optional* A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4; + + // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // This feature is only available in select languages. Setting this for + // requests in other languages has no effect at all. The default 'false' value + // does not add punctuation to result hypotheses. NOTE: "This is currently + // offered as an experimental service, complimentary to all users. In the + // future this may be exclusively available as a premium feature." + bool enable_automatic_punctuation = 5; + + // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // tracks, specify up to two tracks. Default: track 0. + repeated int32 audio_tracks = 6; + + // *Optional* If 'true', enables speaker detection for each recognized word in + // the top alternative of the recognition result using a speaker_tag provided + // in the WordInfo. + // Note: When this is true, we send all the words from the beginning of the + // audio for the top alternative in every consecutive responses. + // This is done in order to improve our speaker tags as our models learn to + // identify the speakers in the conversation over time. + bool enable_speaker_diarization = 7; + + // *Optional* + // If set, specifies the estimated number of speakers in the conversation. + // If not set, defaults to '2'. + // Ignored unless enable_speaker_diarization is set to true. + int32 diarization_speaker_count = 8; + + // *Optional* If `true`, the top result includes a list of words and the + // confidence for those words. If `false`, no word-level confidence + // information is returned. The default is `false`. + bool enable_word_confidence = 9; +} + +// Provides "hints" to the speech recognizer to favor specific words and phrases +// in the results. +message SpeechContext { + // *Optional* A list of strings containing words and phrases "hints" so that + // the speech recognition is more likely to recognize them. This can be used + // to improve the accuracy for specific words and phrases, for example, if + // specific commands are typically spoken by the user. This can also be used + // to add additional words to the vocabulary of the recognizer. See + // [usage limits](https://cloud.google.com/speech/limits#content). + repeated string phrases = 1; +} + +// A speech recognition result corresponding to a portion of the audio. +message SpeechTranscription { + // May contain one or more recognition hypotheses (up to the maximum specified + // in `max_alternatives`). These alternatives are ordered in terms of + // accuracy, with the top (first) alternative being the most probable, as + // ranked by the recognizer. + repeated SpeechRecognitionAlternative alternatives = 1; + + // Output only. The + // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the + // language in this result. This language code was detected to have the most + // likelihood of being spoken in the audio. + string language_code = 2; +} + +// Alternative hypotheses (a.k.a. n-best list). +message SpeechRecognitionAlternative { + // Transcript text representing the words that the user spoke. + string transcript = 1; + + // The confidence estimate between 0.0 and 1.0. A higher number + // indicates an estimated greater likelihood that the recognized words are + // correct. This field is typically provided only for the top hypothesis, and + // only for `is_final=true` results. Clients should not rely on the + // `confidence` field as it is not guaranteed to be accurate or consistent. + // The default of 0.0 is a sentinel value indicating `confidence` was not set. + float confidence = 2; + + // A list of word-specific information for each recognized word. + repeated WordInfo words = 3; +} + +// Word-specific information for recognized words. Word information is only +// included in the response when certain request parameters are set, such +// as `enable_word_time_offsets`. +message WordInfo { + // Time offset relative to the beginning of the audio, and + // corresponding to the start of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration start_time = 1; + + // Time offset relative to the beginning of the audio, and + // corresponding to the end of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration end_time = 2; + + // The word corresponding to this set of information. + string word = 3; + + // Output only. The confidence estimate between 0.0 and 1.0. A higher number + // indicates an estimated greater likelihood that the recognized words are + // correct. This field is set only for the top alternative. + // This field is not guaranteed to be accurate and users should not rely on it + // to be always provided. + // The default of 0.0 is a sentinel value indicating `confidence` was not set. + float confidence = 4; + + // Output only. A distinct integer value is assigned for every speaker within + // the audio. This field specifies which one of those speakers was detected to + // have spoken this word. Value ranges from 1 up to diarization_speaker_count, + // and is only set if speaker diarization is enabled. + int32 speaker_tag = 5; +} + // Video annotation feature. enum Feature { // Unspecified. @@ -353,6 +495,9 @@ enum Feature { // Human face detection and tracking. FACE_DETECTION = 4; + + // Speech transcription. + SPEECH_TRANSCRIPTION = 6; } // Label detection mode. diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index d8dce9b8e51..8a8d5417178 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -71,8 +71,8 @@ const AnnotateVideoRequest = { * * @property {Object[]} segments * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video - * is treated as a single segment. + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. * * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} * @@ -96,6 +96,11 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1.FaceDetectionConfig} * + * @property {Object} speechTranscriptionConfig + * Config for SPEECH_TRANSCRIPTION. + * + * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig} + * * @typedef VideoContext * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} @@ -470,6 +475,11 @@ const FaceAnnotation = { * * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1.ExplicitContentAnnotation} * + * @property {Object[]} speechTranscriptions + * Speech transcription. + * + * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1.SpeechTranscription} + * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. @@ -510,8 +520,8 @@ const AnnotateVideoResponse = { * [Google Cloud Storage](https://cloud.google.com/storage/). * * @property {number} progressPercent - * Approximate percentage processed thus far. - * Guaranteed to be 100 when fully processed. + * Approximate percentage processed thus far. Guaranteed to be + * 100 when fully processed. * * @property {Object} startTime * Time when the request was received. @@ -549,6 +559,192 @@ const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for SPEECH_TRANSCRIPTION. + * + * @property {string} languageCode + * *Required* The language of the supplied audio as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + * Example: "en-US". + * See [Language Support](https://cloud.google.com/speech/docs/languages) + * for a list of the currently supported language codes. + * + * @property {number} maxAlternatives + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` messages + * within each `SpeechTranscription`. The server may return fewer than + * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + * return a maximum of one. If omitted, will return a maximum of one. + * + * @property {boolean} filterProfanity + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered word + * with asterisks, e.g. "f***". If set to `false` or omitted, profanities + * won't be filtered out. + * + * @property {Object[]} speechContexts + * *Optional* A means to provide context to assist the speech recognition. + * + * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1.SpeechContext} + * + * @property {boolean} enableAutomaticPunctuation + * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * This feature is only available in select languages. Setting this for + * requests in other languages has no effect at all. The default 'false' value + * does not add punctuation to result hypotheses. NOTE: "This is currently + * offered as an experimental service, complimentary to all users. In the + * future this may be exclusively available as a premium feature." + * + * @property {number[]} audioTracks + * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * tracks, specify up to two tracks. Default: track 0. + * + * @property {boolean} enableSpeakerDiarization + * *Optional* If 'true', enables speaker detection for each recognized word in + * the top alternative of the recognition result using a speaker_tag provided + * in the WordInfo. + * Note: When this is true, we send all the words from the beginning of the + * audio for the top alternative in every consecutive responses. + * This is done in order to improve our speaker tags as our models learn to + * identify the speakers in the conversation over time. + * + * @property {number} diarizationSpeakerCount + * *Optional* + * If set, specifies the estimated number of speakers in the conversation. + * If not set, defaults to '2'. + * Ignored unless enable_speaker_diarization is set to true. + * + * @property {boolean} enableWordConfidence + * *Optional* If `true`, the top result includes a list of words and the + * confidence for those words. If `false`, no word-level confidence + * information is returned. The default is `false`. + * + * @typedef SpeechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const SpeechTranscriptionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Provides "hints" to the speech recognizer to favor specific words and phrases + * in the results. + * + * @property {string[]} phrases + * *Optional* A list of strings containing words and phrases "hints" so that + * the speech recognition is more likely to recognize them. This can be used + * to improve the accuracy for specific words and phrases, for example, if + * specific commands are typically spoken by the user. This can also be used + * to add additional words to the vocabulary of the recognizer. See + * [usage limits](https://cloud.google.com/speech/limits#content). + * + * @typedef SpeechContext + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const SpeechContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A speech recognition result corresponding to a portion of the audio. + * + * @property {Object[]} alternatives + * May contain one or more recognition hypotheses (up to the maximum specified + * in `max_alternatives`). These alternatives are ordered in terms of + * accuracy, with the top (first) alternative being the most probable, as + * ranked by the recognizer. + * + * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative} + * + * @property {string} languageCode + * Output only. The + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the + * language in this result. This language code was detected to have the most + * likelihood of being spoken in the audio. + * + * @typedef SpeechTranscription + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const SpeechTranscription = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Alternative hypotheses (a.k.a. n-best list). + * + * @property {string} transcript + * Transcript text representing the words that the user spoke. + * + * @property {number} confidence + * The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is typically provided only for the top hypothesis, and + * only for `is_final=true` results. Clients should not rely on the + * `confidence` field as it is not guaranteed to be accurate or consistent. + * The default of 0.0 is a sentinel value indicating `confidence` was not set. + * + * @property {Object[]} words + * A list of word-specific information for each recognized word. + * + * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1.WordInfo} + * + * @typedef SpeechRecognitionAlternative + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const SpeechRecognitionAlternative = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such + * as `enable_word_time_offsets`. + * + * @property {Object} startTime + * Time offset relative to the beginning of the audio, and + * corresponding to the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTime + * Time offset relative to the beginning of the audio, and + * corresponding to the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {string} word + * The word corresponding to this set of information. + * + * @property {number} confidence + * Output only. The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is set only for the top alternative. + * This field is not guaranteed to be accurate and users should not rely on it + * to be always provided. + * The default of 0.0 is a sentinel value indicating `confidence` was not set. + * + * @property {number} speakerTag + * Output only. A distinct integer value is assigned for every speaker within + * the audio. This field specifies which one of those speakers was detected to + * have spoken this word. Value ranges from 1 up to diarization_speaker_count, + * and is only set if speaker diarization is enabled. + * + * @typedef WordInfo + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const WordInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Video annotation feature. * @@ -580,7 +776,12 @@ const Feature = { /** * Human face detection and tracking. */ - FACE_DETECTION: 4 + FACE_DETECTION: 4, + + /** + * Speech transcription. + */ + SPEECH_TRANSCRIPTION: 6 }; /** From 8d60a8880ed8977c1fabb5f441d071222c6218c7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sun, 28 Oct 2018 08:34:27 -0700 Subject: [PATCH 110/418] chore(deps): update dependency eslint-plugin-node to v8 (#131) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a2044e7b46e..e677033ce4c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -65,7 +65,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.0", "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 4d938cce7f75bfb4bcfb62641e6c6071be70a33d Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 29 Oct 2018 11:03:15 -0700 Subject: [PATCH 111/418] Release v1.5.0 (#130) --- .../google-cloud-videointelligence/CHANGELOG.md | 16 ++++++++++++++++ .../google-cloud-videointelligence/package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index e3e28404621..66ef684c178 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,22 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## v1.5.0 + +### New features +- feat: add speech transcription + +### Documentation +- docs(samples): video beta samples ([#123](https://github.com/googleapis/nodejs-video-intelligence/pull/123)) + +### Internal / Testing Changes +- chore: update issue templates ([#128](https://github.com/googleapis/nodejs-video-intelligence/pull/128)) +- chore: remove old issue template ([#124](https://github.com/googleapis/nodejs-video-intelligence/pull/124)) +- build: run tests on node11 ([#122](https://github.com/googleapis/nodejs-video-intelligence/pull/122)) +- chores(build): do not collect sponge.xml from windows builds ([#121](https://github.com/googleapis/nodejs-video-intelligence/pull/121)) +- chores(build): run codecov on continuous builds ([#120](https://github.com/googleapis/nodejs-video-intelligence/pull/120)) +- chore: update new issue template ([#119](https://github.com/googleapis/nodejs-video-intelligence/pull/119)) + ## v1.4.1 ### Implementation Changes diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e677033ce4c..5c3ba6cdff3 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.4.1", + "version": "1.5.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 179d4307cc2..5f0053d1046 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -13,7 +13,7 @@ "test": "ava -T 10m --serial --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.4.1", + "@google-cloud/video-intelligence": "^1.5.0", "yargs": "^12.0.0" }, "devDependencies": { From db9966b66a1ad48ac96fe1ba81db646f17602fae Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 1 Nov 2018 12:03:31 -0700 Subject: [PATCH 112/418] chore: update CircleCI config (#137) --- packages/google-cloud-videointelligence/.circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index da54155fc57..6735ebdaaa1 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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 8fa0b99767c548823b7e9db9cd1dbe60d42d340e Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sun, 4 Nov 2018 22:32:19 -0800 Subject: [PATCH 113/418] chore: update eslintignore (#138) chore: update eslintignore --- packages/google-cloud-videointelligence/.eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index f6fac98b0a8..f08b0fd1c65 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -1,3 +1,4 @@ node_modules/* samples/node_modules/* src/**/doc/* +build/ From 66e03f55539271f326875191f480f874f95fd461 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 6 Nov 2018 09:14:47 -0800 Subject: [PATCH 114/418] fix: increase gRPC timeout window (#139) --- .../src/v1/video_intelligence_service_client_config.json | 2 +- .../src/v1p1beta1/video_intelligence_service_client_config.json | 2 +- .../src/v1p2beta1/video_intelligence_service_client_config.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json index 581465bd5b8..ce79585551c 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -21,7 +21,7 @@ }, "methods": { "AnnotateVideo": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json index 46e57976a32..e701c4af9d9 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json @@ -21,7 +21,7 @@ }, "methods": { "AnnotateVideo": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json index c16a1980989..01c3c0a8933 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json @@ -21,7 +21,7 @@ }, "methods": { "AnnotateVideo": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } From 780d23197504676d9f1487c4dd6ed8fee6e45f7f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 9 Nov 2018 10:00:58 -0800 Subject: [PATCH 115/418] chore: drop contributors from multiple places (#142) --- .../google-cloud-videointelligence/.mailmap | 8 -------- .../google-cloud-videointelligence/CONTRIBUTORS | 17 ----------------- .../google-cloud-videointelligence/package.json | 14 -------------- 3 files changed, 39 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.mailmap delete mode 100644 packages/google-cloud-videointelligence/CONTRIBUTORS diff --git a/packages/google-cloud-videointelligence/.mailmap b/packages/google-cloud-videointelligence/.mailmap deleted file mode 100644 index ffd360d9204..00000000000 --- a/packages/google-cloud-videointelligence/.mailmap +++ /dev/null @@ -1,8 +0,0 @@ -Evawere Ogbe Evawere Ogbe -Gus Class Gus Class -Jason Dobry Jason Dobry -Luke Sneeringer Luke Sneeringer -Stephen Sawchuk Stephen Sawchuk -Stephen Sawchuk Stephen Sawchuk -Stephen Sawchuk Stephen -Alexander Fenster Alexander Fenster diff --git a/packages/google-cloud-videointelligence/CONTRIBUTORS b/packages/google-cloud-videointelligence/CONTRIBUTORS deleted file mode 100644 index bc85cd1af1b..00000000000 --- a/packages/google-cloud-videointelligence/CONTRIBUTORS +++ /dev/null @@ -1,17 +0,0 @@ -# The names of individuals who have contributed to this project. -# -# Names are formatted as: -# name -# -Ace Nassri -Alexander Fenster -Ali Ijaz Sheikh -Evawere Ogbe -Gus Class -Jason Dobry -Luke Sneeringer -Song Wang -Stephen Sawchuk -Tim Swast -greenkeeper[bot] -remi Taylor diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 5c3ba6cdff3..361adbc978b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -28,20 +28,6 @@ "video intelligence", "Google Cloud Video Intelligence API" ], - "contributors": [ - "Ace Nassri ", - "Alexander Fenster ", - "Ali Ijaz Sheikh ", - "Evawere Ogbe ", - "Gus Class ", - "Jason Dobry ", - "Luke Sneeringer ", - "Song Wang ", - "Stephen Sawchuk ", - "Tim Swast ", - "greenkeeper[bot] ", - "remi Taylor " - ], "scripts": { "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", From c118a5d51dc4bb4c7310c81c0436dcb28e2379d7 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 9 Nov 2018 12:40:05 -0800 Subject: [PATCH 116/418] chore: remove unused deps and fix lint (#141) --- packages/google-cloud-videointelligence/.gitignore | 1 + packages/google-cloud-videointelligence/package.json | 8 +++----- .../google-cloud-videointelligence/samples/package.json | 4 ++++ .../smoke-test/.eslintrc.yml | 5 +++++ .../smoke-test/video_intelligence_service_smoke_test.js | 2 +- packages/google-cloud-videointelligence/synth.py | 3 +-- .../system-test/.eslintrc.yml | 1 - .../system-test/video_intelligence_service_smoke_test.js | 7 +++---- .../google-cloud-videointelligence/test/.eslintrc.yml | 2 -- 9 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index 6b002b948bd..8db114fab10 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -8,3 +8,4 @@ system-test/secrets.js system-test/*key.json *.lock package-lock.json +.vscode diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 361adbc978b..bfec486031c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -32,22 +32,20 @@ "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/ test/", - "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js", + "lint": "eslint '**/*.js'", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js --timeout 600000", "test-no-cover": "mocha test/*.js", - "test": "npm run cover" + "test": "npm run cover", + "fix": "eslint --fix '**/*.js'" }, "dependencies": { - "extend": "^3.0", "google-gax": "^0.20.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", - "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.0", "eslint-config-prettier": "^3.0.0", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 5f0053d1046..ec0eb208910 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -3,6 +3,10 @@ "version": "0.0.1", "private": true, "license": "Apache-2.0", + "files": [ + "*.js", + "resources" + ], "author": "Google Inc.", "repository": "googleapis/nodejs-video-intelligence", "engines": { diff --git a/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml b/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml new file mode 100644 index 00000000000..69644b3bae0 --- /dev/null +++ b/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml @@ -0,0 +1,5 @@ +--- +env: + mocha: true +rules: + no-undef: off diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js index 443f0b35faf..82c2d8e034f 100644 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js @@ -15,5 +15,5 @@ 'use strict'; describe('VideoIntelligenceServiceSmokeTest', () => { - $unhandledCase: LongRunningOptionalArrayMethod$ + LongRunningOptionalArrayMethod$; }); diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index baa93180fd5..479ad088f28 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -33,5 +33,4 @@ # 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-videointelligence/system-test/.eslintrc.yml b/packages/google-cloud-videointelligence/system-test/.eslintrc.yml index 2e6882e46d2..f9605165c0f 100644 --- a/packages/google-cloud-videointelligence/system-test/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/system-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-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index 77af73a780f..b8fd646bd53 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -84,22 +84,21 @@ describe('VideoIntelligenceServiceSmokeTest', () => { .annotateVideo(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) => { + operation.on('complete', result => { console.log(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) => { + operation.on('progress', metadata => { console.log(metadata); }); // Adding a listener for the "error" event handles any errors found during polling. - operation.on('error', err => { + operation.on('error', () => { // throw(err); }); }) diff --git a/packages/google-cloud-videointelligence/test/.eslintrc.yml b/packages/google-cloud-videointelligence/test/.eslintrc.yml index 73f7bbc946f..6db2a46c535 100644 --- a/packages/google-cloud-videointelligence/test/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/test/.eslintrc.yml @@ -1,5 +1,3 @@ --- env: mocha: true -rules: - node/no-unpublished-require: off From 652c88ef2e71fc66e713ded61b2cc3c14a116090 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sat, 10 Nov 2018 10:50:06 -0800 Subject: [PATCH 117/418] chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 (#143) --- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index bfec486031c..41586079fea 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -45,7 +45,7 @@ "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/nodejs-repo-tools": "^3.0.0", "codecov": "^3.0.2", "eslint": "^5.0.0", "eslint-config-prettier": "^3.0.0", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index ec0eb208910..cd195763628 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -21,7 +21,7 @@ "yargs": "^12.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/nodejs-repo-tools": "^3.0.0", "ava": "^0.25.0" } } From 094355cb0df58f0d16251784fdcda723460629e3 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 12 Nov 2018 15:54:38 -0800 Subject: [PATCH 118/418] chore: update eslintignore config (#144) --- packages/google-cloud-videointelligence/.eslintignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index f08b0fd1c65..2f642cb6044 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -1,4 +1,3 @@ -node_modules/* -samples/node_modules/* +**/node_modules src/**/doc/* build/ From 8767ae738e39c7a1070ad9b0d8d376b0a3d80d20 Mon Sep 17 00:00:00 2001 From: nareshqlogic <44403913+nareshqlogic@users.noreply.github.com> Date: Fri, 16 Nov 2018 01:38:47 +0530 Subject: [PATCH 119/418] refactor(samples): convert sample tests from ava to mocha (#146) --- packages/google-cloud-videointelligence/samples/.eslintrc.yml | 2 ++ packages/google-cloud-videointelligence/samples/package.json | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/.eslintrc.yml b/packages/google-cloud-videointelligence/samples/.eslintrc.yml index 282535f55f6..f9605165c0f 100644 --- a/packages/google-cloud-videointelligence/samples/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/samples/.eslintrc.yml @@ -1,3 +1,5 @@ --- +env: + mocha: true rules: no-console: off diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index cd195763628..fe00cfccd1f 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -13,8 +13,7 @@ "node": ">=8" }, "scripts": { - "cover": "nyc --reporter=lcov --cache ava -T 20s --verbose test/*.test.js ./system-test/*.test.js && nyc report", - "test": "ava -T 10m --serial --verbose system-test/*.test.js" + "test": "mocha system-test/*.test.js --timeout=600000" }, "dependencies": { "@google-cloud/video-intelligence": "^1.5.0", From e52ee1fced4b6a7b63ce3881b423d76efc7768d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 15 Nov 2018 12:09:06 -0800 Subject: [PATCH 120/418] fix(deps): update dependency google-gax to ^0.22.0 (#145) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 41586079fea..96fcf8e3d4b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -40,7 +40,7 @@ "fix": "eslint --fix '**/*.js'" }, "dependencies": { - "google-gax": "^0.20.0", + "google-gax": "^0.22.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From cf0419657a773dc2f199971f52d560f1d85edae4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Mon, 19 Nov 2018 09:18:40 -0800 Subject: [PATCH 121/418] chore: add a synth.metadata chore: add a synth.metadata --- .../synth.metadata | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/google-cloud-videointelligence/synth.metadata diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata new file mode 100644 index 00000000000..f26e69af884 --- /dev/null +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -0,0 +1,27 @@ +{ + "sources": [ + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "5a57f0c13a358b2b15452bf2d67453774a5f6d4f", + "internalRef": "221837528" + } + }, + { + "git": { + "name": "googleapis-private", + "remote": "https://github.com/googleapis/googleapis-private.git", + "sha": "6aa8e1a447bb8d0367150356a28cb4d3f2332641", + "internalRef": "221340946" + } + }, + { + "generator": { + "name": "artman", + "version": "0.16.0", + "dockerImage": "googleapis/artman@sha256:90f9d15e9bad675aeecd586725bce48f5667ffe7d5fc4d1e96d51ff34304815b" + } + } + ] +} \ No newline at end of file From bbe8e0e49099439a7c9fa7fe2984307ff944f692 Mon Sep 17 00:00:00 2001 From: praveenqlogic <44371467+praveenqlogic@users.noreply.github.com> Date: Fri, 23 Nov 2018 01:49:30 +0530 Subject: [PATCH 122/418] docs(samples): updated samples code to use async await (#151) --- .../samples/quickstart.js | 109 +++++++++--------- 1 file changed, 53 insertions(+), 56 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index d09c139caa8..5adc54b73ae 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -14,67 +14,64 @@ */ 'use strict'; +async function main() { + // [START video_quickstart] + // Imports the Google Cloud Video Intelligence library + const videoIntelligence = require('@google-cloud/video-intelligence'); -// [START video_quickstart] -// Imports the Google Cloud Video Intelligence library -const videoIntelligence = require('@google-cloud/video-intelligence'); + // Creates a client + const client = new videoIntelligence.VideoIntelligenceServiceClient(); -// Creates a client -const client = new videoIntelligence.VideoIntelligenceServiceClient(); + // The GCS uri of the video to analyze + const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; -// The GCS uri of the video to analyze -const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; + // Construct request + const request = { + inputUri: gcsUri, + features: ['LABEL_DETECTION'], + }; -// Construct request -const request = { - inputUri: gcsUri, - features: ['LABEL_DETECTION'], -}; + // Execute request + const [operation] = await client.annotateVideo(request); -// Execute request -client - .annotateVideo(request) - .then(results => { - const operation = results[0]; - console.log( - 'Waiting for operation to complete... (this may take a few minutes)' - ); - return operation.promise(); - }) - .then(results => { - // Gets annotations for video - const annotations = results[0].annotationResults[0]; + console.log( + 'Waiting for operation to complete... (this may take a few minutes)' + ); - // Gets labels for video from its annotations - const labels = annotations.segmentLabelAnnotations; - labels.forEach(label => { - console.log(`Label ${label.entity.description} occurs at:`); - label.segments.forEach(segment => { - segment = segment.segment; - if (segment.startTimeOffset.seconds === undefined) { - segment.startTimeOffset.seconds = 0; - } - if (segment.startTimeOffset.nanos === undefined) { - segment.startTimeOffset.nanos = 0; - } - if (segment.endTimeOffset.seconds === undefined) { - segment.endTimeOffset.seconds = 0; - } - if (segment.endTimeOffset.nanos === undefined) { - segment.endTimeOffset.nanos = 0; - } - console.log( - `\tStart: ${segment.startTimeOffset.seconds}` + - `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - console.log( - `\tEnd: ${segment.endTimeOffset.seconds}.` + - `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - }); + const [operationResult] = await operation.promise(); + + // Gets annotations for video + const annotations = operationResult.annotationResults[0]; + + // Gets labels for video from its annotations + const labels = annotations.segmentLabelAnnotations; + labels.forEach(label => { + console.log(`Label ${label.entity.description} occurs at:`); + label.segments.forEach(segment => { + segment = segment.segment; + if (segment.startTimeOffset.seconds === undefined) { + segment.startTimeOffset.seconds = 0; + } + if (segment.startTimeOffset.nanos === undefined) { + segment.startTimeOffset.nanos = 0; + } + if (segment.endTimeOffset.seconds === undefined) { + segment.endTimeOffset.seconds = 0; + } + if (segment.endTimeOffset.nanos === undefined) { + segment.endTimeOffset.nanos = 0; + } + console.log( + `\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + console.log( + `\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` + ); }); - }) - .catch(err => { - console.error('ERROR:', err); }); -// [END video_quickstart] + // [END video_quickstart] +} + +main().catch(console.error); From e8c177ef4cc124da4d29061b267dae0409fef268 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Sat, 1 Dec 2018 18:42:01 -0800 Subject: [PATCH 123/418] fix(build): fix system key decryption (#154) --- packages/google-cloud-videointelligence/.circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml index 6735ebdaaa1..86c63432242 100644 --- a/packages/google-cloud-videointelligence/.circleci/config.yml +++ b/packages/google-cloud-videointelligence/.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 b83bb1a7db4e25dd05ec8ccf91e80b8215031c00 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 3 Dec 2018 15:41:19 -0800 Subject: [PATCH 124/418] docs: update readme badges (#156) --- packages/google-cloud-videointelligence/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 8886710d156..8fca9b585a6 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -3,8 +3,7 @@ # [Google Cloud Video Intelligence API: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) [![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) -[![CircleCI](https://img.shields.io/circleci/project/github/googleapis/nodejs-video-intelligence.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-video-intelligence) -[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/googleapis/nodejs-video-intelligence?branch=master&svg=true)](https://ci.appveyor.com/project/googleapis/nodejs-video-intelligence) +[![npm version](https://img.shields.io/npm/v/@google-cloud/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) > Node.js idiomatic client for [Video Intelligence API][product-docs]. @@ -165,3 +164,4 @@ See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/maste [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ [product-docs]: https://cloud.google.com/video-intelligence [shell_img]: //gstatic.com/cloudssh/images/open-btn.png + From 2e258cbbeff79de0a4491398583519111dd37de0 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 4 Dec 2018 08:51:09 -0800 Subject: [PATCH 125/418] chore: update license file (#158) --- packages/google-cloud-videointelligence/LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/LICENSE b/packages/google-cloud-videointelligence/LICENSE index 7a4a3ea2424..d6456956733 100644 --- a/packages/google-cloud-videointelligence/LICENSE +++ b/packages/google-cloud-videointelligence/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 c951a0800f62e2b8d586a24689fd1c732c05e477 Mon Sep 17 00:00:00 2001 From: "Leah E. Cole" <6719667+leahecole@users.noreply.github.com> Date: Tue, 4 Dec 2018 18:31:43 -0800 Subject: [PATCH 126/418] docs: fix filepath of example command in README (#160) --- packages/google-cloud-videointelligence/samples/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index e72ec5a9dd7..a7a4fd853ab 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -50,7 +50,7 @@ Options: Examples: node analyze.js shots gs://demomaker/sushi.mp4 node analyze.js labels-gcs gs://demomaker/tomatoes.mp4 - node analyze.js labels-file cat.mp4 + node analyze.js labels-file ./resources/cat.mp4 node analyze.js safe-search gs://demomaker/tomatoes.mp4 node analyze.js transcription gs://demomaker/tomatoes.mp4 From 22c984219dce76fdab68fa2f039ae33f4914bf85 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 5 Dec 2018 15:55:07 -0800 Subject: [PATCH 127/418] chore: nyc ignore build/test by default (#162) --- packages/google-cloud-videointelligence/.nycrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index a1a8e6920ce..feb032400d4 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -3,7 +3,8 @@ "exclude": [ "src/*{/*,/**/*}.js", "src/*/v*/*.js", - "test/**/*.js" + "test/**/*.js", + "build/test" ], "watermarks": { "branches": [ From 306ff3074ae5944bac3ed93a7462cf1effc4d018 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 10 Dec 2018 13:34:38 -0800 Subject: [PATCH 128/418] build: add Kokoro configs for autorelease (#166) * build: add Kokoro configs for autorelease * build: add Kokoro configs for autorelease * chore: remove CircleCI config --- .../.circleci/config.yml | 179 ------------------ .../.circleci/key.json.enc | Bin 2384 -> 0 bytes .../.circleci/npm-install-retry.js | 60 ------ 3 files changed, 239 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.circleci/config.yml delete mode 100644 packages/google-cloud-videointelligence/.circleci/key.json.enc delete mode 100755 packages/google-cloud-videointelligence/.circleci/npm-install-retry.js diff --git a/packages/google-cloud-videointelligence/.circleci/config.yml b/packages/google-cloud-videointelligence/.circleci/config.yml deleted file mode 100644 index 86c63432242..00000000000 --- a/packages/google-cloud-videointelligence/.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-videointelligence/.circleci/key.json.enc b/packages/google-cloud-videointelligence/.circleci/key.json.enc deleted file mode 100644 index 16908802f8f1f41bfa73d56917d8683e03808d04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2384 zcmV-W39t53VQh3|WM5z8Ly9pySSOYsoda#9D)?wVtt=iIq%u#>yoM@T%oe}}%bO)? zh0!=Z{$A+4?e`wuPs$a`npJ6=LHfHJa`61WK;Un(nT^0-jZYsng>6Uffw%NAuuvbD zu#~P$$=ji+RN0<=f!XR9vRj7`9|Wd{mtS))!Os}h*DG&kMGRha-U|JPmV+Fo1A{HV zNW3$VIsBukIU>ln+_jm#iM$x7a@*ky7}&bR;gbpLOP`g6n_CJMsROE|d$cw(C(EAMgE3siVVZSbvfs3kDmtAIS6cA^5U6lO^W6u;jM>1(~{B}w2CPtTo zAqIN8fo9tevD*nRF5Z+~-w$z3Xj0m2SH7%&|8>z{;O2%N#Ex5ygWtF7u@@-q)hgk< zM-vK8kE_V~JyrZ)~qz|SF;TU~NGNB-oLwji;c!nZMw+VwZrn|A z_OBU>=(4MtrbKp{SBy5=&G>8Rntn>f{tA8r~jB(bb zkvM*bZ|D<`)fI1|p_zSZSd4v7F%>vXS7$J-DL;Q|Sy4qIxT3j@vh0#ojRr#ka=>?D zTk15m@arD3TA}lU$|)qJw-5On`C=Q^<%z}4{`bIsSyDEjCc9b`^Rd#8xvob#-L>L*maYv8J~c z0SR=*4;Rxgz2AH#iy;=KcMcl3;WdWNi#HH;Zq{o>bVis%3{}^`F-3}l`obSdE)^T)#XDbzR4RzYowJ=*6A#8~)wZ|%6 z!%1!BD#XRHAooKlk2(9OV3u8nRA31%uf7{b{xTl*2a6ScqnL%_tZPk<{Nj)E&^g7> zV1Id%MBw=3d3kWOP_ z@p-gkRj-huG$NhC33C}Cus-ueU2(Pzx{DneMe$-5YE`L@nE5hc)HAT>T3%CuXNc=l z2e*+v&Fg_V)~_jf_IP}iTgyJKUc021`JZxZkutgIJgb67p+X6%Fm&BOXrV>(ll|ha zyQRO&3c;2Mb_bxsq;L#JRXE*bTYB)+rhMv;yTZbrxj3MG@H9{h;u!BiOhxDn%d5x} zzA^3PHL?pQlLpR=)Fz4M=pNzVy&ouSAMUVYoQdqVl~O6Gt(v$kv);Z4bq5CH^W5{H z_KB*kzq$#ak^9cOqZYSWwJaomVUSo$bVt9NZ_^^KLLe_+Vh>p%ZABXX$gqFc|AgKX zSUM1$PF!InI-&^MBFA3}=!`T9+AdC00L9LYdJ`kHB8imXj&?lCsf0}LL(k!trLu)P- z|BvG^A zWyr6|Lt3IwQ{%elWnO*uBm(gw+n@g1i5z$0^(FMKP$kCEt{Kc;iVq1>BVR4buV)mB znxuU?`7{-cg@ws>Re)#Y#H-%p^)JY`;)IC{zn|)Xpi0-a`;`i1Y|L@?2LGiPm6F&b znBol^jphZ{x`4L+V6c6M?^HF7SM^d}M6J1ws0*_#%mVIP(p!FDEk8#x34$HF)QXpy ze2WQ=t{xq5xLoH}?lmL>i|&ydbq3yC52KC25=>t@qcp2O&Y?zJq`6b4WC%?7c7x$m zHWNQc%Jzu}jB?Y|tZG#&N$y<6wy1dIch%h8%G#xJS1bBfe^u`|c)s#0B~u^KH+01M zaNOZ^?})ouyJS{8l?TnA;Vru${lanLnkrMzUErQ&=CqsX#Qve13ob4Dac6^&zFJDG zZQQ#_8KESG3AcWS<5>`yk5Y{1h(=_3DY8xdSR<@XY#VS}%x^Xp{V2L{~O-QX))m8uhvN z_s6AlwB&7~R$hHX=<-6V5ilVp&}Q_GT%Oxrq@T%Nqg4(#5?3=?E!H7A91UZ4f%~h3 z&+zy}bW5ZD_r!k;GzMUMLdjFei+;F#+hA!woT9BraEodA9MW#n7}B?Q_TC;N`RFk^ zD$m%5I)UBV|2yhH1pL4ur9^z%IUfZ`Z|@2KRn&;^qqS+0t%AHOA}PyHrr*WVBvgQi zAfr~$65+e$x^a1p8{Zg^J>X3ux_OE_xkV%bNNvp6vd4X8BcH@X##Wt@X zyy7_?0NvkbNk86+y^2{>{F$VZziJ>p!v6$|5CnO0qJd+DfC9Ru?=k-!qF=pB2rcU0 zsV(H_W)wSvjmDO6M@*~`v~zF%oMgD0JVoWJ7*4hLB+jb}sv!SxlFdK1JsR;$ni=yt CYqdWB diff --git a/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js b/packages/google-cloud-videointelligence/.circleci/npm-install-retry.js deleted file mode 100755 index 3240aa2cbf2..00000000000 --- a/packages/google-cloud-videointelligence/.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 2bc3f0d13a7de7b6a2f73e9a05072755263268e9 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 11 Dec 2018 10:34:04 -0800 Subject: [PATCH 129/418] chore: update nyc and eslint configs (#170) --- packages/google-cloud-videointelligence/.eslintignore | 1 + packages/google-cloud-videointelligence/.nycrc | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index 2f642cb6044..f0c7aead4bf 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -1,3 +1,4 @@ **/node_modules src/**/doc/* build/ +docs/ diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index feb032400d4..88b001cb587 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -1,5 +1,6 @@ { "report-dir": "./.coverage", + "reporter": "lcov", "exclude": [ "src/*{/*,/**/*}.js", "src/*/v*/*.js", From ca942700849740300a25b66afcc0f6280c2824bf Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 17 Dec 2018 11:54:17 -0800 Subject: [PATCH 130/418] refactor: modernize the sample tests (#173) --- .../google-cloud-videointelligence/samples/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index fe00cfccd1f..780dc0ad181 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -1,6 +1,5 @@ { "name": "nodejs-docs-samples-videointelligence", - "version": "0.0.1", "private": true, "license": "Apache-2.0", "files": [ @@ -13,14 +12,15 @@ "node": ">=8" }, "scripts": { - "test": "mocha system-test/*.test.js --timeout=600000" + "test": "mocha system-test --timeout=600000" }, "dependencies": { "@google-cloud/video-intelligence": "^1.5.0", "yargs": "^12.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^3.0.0", - "ava": "^0.25.0" + "chai": "^4.2.0", + "execa": "^1.0.0", + "mocha": "^5.2.0" } } From df0a58c47fcfc9a090a7ba9e3789998893f34a2a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 4 Jan 2019 15:14:03 -0800 Subject: [PATCH 131/418] docs: remove unused long running operation message typesed to pick up changes in the API or client library generator. (#176) docs: remove unused long running operation message types --- .../doc/google/longrunning/doc_operations.js | 84 ------------------- .../v1beta1/doc_video_intelligence.js | 48 +++++------ .../doc/google/longrunning/doc_operations.js | 84 ------------------- .../doc/google/longrunning/doc_operations.js | 84 ------------------- .../doc/google/longrunning/doc_operations.js | 84 ------------------- .../doc/google/longrunning/doc_operations.js | 84 ------------------- .../synth.metadata | 74 +++++++++++++--- 7 files changed, 87 insertions(+), 455 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index 01e20f52221..c7f8f6f7229 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js @@ -429,67 +429,67 @@ const Feature = { }; /** - * Label level (scope). + * Label detection mode. * * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -const LabelLevel = { +const LabelDetectionMode = { /** * Unspecified. */ - LABEL_LEVEL_UNSPECIFIED: 0, - - /** - * Video-level. Corresponds to the whole video. - */ - VIDEO_LEVEL: 1, + LABEL_DETECTION_MODE_UNSPECIFIED: 0, /** - * Segment-level. Corresponds to one of `AnnotateSpec.segments`. + * Detect shot-level labels. */ - SEGMENT_LEVEL: 2, + SHOT_MODE: 1, /** - * Shot-level. Corresponds to a single shot (i.e. a series of frames - * without a major camera position or background change). + * Detect frame-level labels. */ - SHOT_LEVEL: 3, + FRAME_MODE: 2, /** - * Frame-level. Corresponds to a single video frame. + * Detect both shot-level and frame-level labels. */ - FRAME_LEVEL: 4 + SHOT_AND_FRAME_MODE: 3 }; /** - * Label detection mode. + * Label level (scope). * * @enum {number} * @memberof google.cloud.videointelligence.v1beta1 */ -const LabelDetectionMode = { +const LabelLevel = { /** * Unspecified. */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, + LABEL_LEVEL_UNSPECIFIED: 0, /** - * Detect shot-level labels. + * Video-level. Corresponds to the whole video. */ - SHOT_MODE: 1, + VIDEO_LEVEL: 1, /** - * Detect frame-level labels. + * Segment-level. Corresponds to one of `AnnotateSpec.segments`. */ - FRAME_MODE: 2, + SEGMENT_LEVEL: 2, /** - * Detect both shot-level and frame-level labels. + * Shot-level. Corresponds to a single shot (i.e. a series of frames + * without a major camera position or background change). */ - SHOT_AND_FRAME_MODE: 3 + SHOT_LEVEL: 3, + + /** + * Frame-level. Corresponds to a single video frame. + */ + FRAME_LEVEL: 4 }; /** diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f26e69af884..bd680786e24 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,78 @@ { + "updateTime": "2019-01-03T17:47:21.537147Z", "sources": [ + { + "generator": { + "name": "artman", + "version": "0.16.4", + "dockerImage": "googleapis/artman@sha256:8b45fae963557c3299921037ecbb86f0689f41b1b4aea73408ebc50562cb2857" + } + }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "5a57f0c13a358b2b15452bf2d67453774a5f6d4f", - "internalRef": "221837528" + "sha": "2a5caab4315cb5ab3d5c97c90c6d4e9441052b16", + "internalRef": "227195651" } }, { - "git": { - "name": "googleapis-private", - "remote": "https://github.com/googleapis/googleapis-private.git", - "sha": "6aa8e1a447bb8d0367150356a28cb4d3f2332641", - "internalRef": "221340946" + "template": { + "name": "node_library", + "origin": "synthtool.gcp", + "version": "2018.12.6" + } + } + ], + "destinations": [ + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" } }, { - "generator": { - "name": "artman", - "version": "0.16.0", - "dockerImage": "googleapis/artman@sha256:90f9d15e9bad675aeecd586725bce48f5667ffe7d5fc4d1e96d51ff34304815b" + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1beta2", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" } } ] From 4af4fe92b0446f2f8caed5a555478d4245d7b176 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 8 Jan 2019 19:06:41 -0800 Subject: [PATCH 132/418] build: check broken links in generated docs (#175) --- packages/google-cloud-videointelligence/.jsdoc.js | 2 +- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/src/index.js | 5 +---- packages/google-cloud-videointelligence/synth.py | 10 ++++++++++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 485527b95ff..6751e0d9efd 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 96fcf8e3d4b..31324a99327 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -51,7 +51,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-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index 7de45c3062d..c6928ebff16 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -12,9 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -/** - * @namespace google - */ /** * @namespace google.protobuf */ @@ -22,7 +19,7 @@ * @namespace google.rpc */ /** - * @namespace google.cloud + * @namespace google.longrunning */ /** * @namespace google.cloud.videointelligence diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 479ad088f28..c82da634984 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -31,6 +31,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 401bcaeccae3876870468a288067bd9a5fc6eaa0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 14 Jan 2019 12:03:06 -0800 Subject: [PATCH 133/418] fix(deps): update dependency google-gax to ^0.23.0 (#178) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 31324a99327..b7db3d3fed5 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -40,7 +40,7 @@ "fix": "eslint --fix '**/*.js'" }, "dependencies": { - "google-gax": "^0.22.0", + "google-gax": "^0.23.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 808862f83aab209615aed63e9bc88468bb6c9279 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 17 Jan 2019 10:49:46 -0800 Subject: [PATCH 134/418] chore: update the year in the copyright header (#179) --- .../video_intelligence_service_smoke_test.js | 2 +- .../videointelligence/v1/doc_video_intelligence.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_duration.js | 2 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../google-cloud-videointelligence/src/v1/index.js | 2 +- .../src/v1/video_intelligence_service_client.js | 2 +- .../v1beta1/doc_video_intelligence.js | 2 +- .../v1beta1/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1beta1/index.js | 2 +- .../src/v1beta1/video_intelligence_service_client.js | 2 +- .../v1beta2/doc_video_intelligence.js | 2 +- .../v1beta2/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1beta2/doc/google/protobuf/doc_any.js | 2 +- .../src/v1beta2/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1beta2/doc/google/rpc/doc_status.js | 2 +- .../src/v1beta2/index.js | 2 +- .../src/v1beta2/video_intelligence_service_client.js | 2 +- .../v1p1beta1/doc_video_intelligence.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../v1p1beta1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p1beta1/index.js | 2 +- .../v1p1beta1/video_intelligence_service_client.js | 2 +- .../v1p2beta1/doc_video_intelligence.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../v1p2beta1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1p2beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p2beta1/index.js | 2 +- .../v1p2beta1/video_intelligence_service_client.js | 2 +- .../google-cloud-videointelligence/synth.metadata | 12 ++++++------ .../google-cloud-videointelligence/test/gapic-v1.js | 2 +- .../test/gapic-v1beta1.js | 2 +- .../test/gapic-v1beta2.js | 2 +- .../test/gapic-v1p1beta1.js | 2 +- .../test/gapic-v1p2beta1.js | 2 +- 41 files changed, 46 insertions(+), 46 deletions(-) diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js index 82c2d8e034f..f4683f9be64 100644 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_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-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 8a8d5417178..2d4edfbcded 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.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-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js index c03ce2fb3df..1275f8f4d13 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/index.js b/packages/google-cloud-videointelligence/src/v1/index.js index 22af92ed0b9..b95e2466ed0 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 1b94364716c..47908556052 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index c7f8f6f7229..7234713ac32 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.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-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js index 22af92ed0b9..b95e2466ed0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index c4d1955b3aa..44f61bd12ae 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_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-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index cbb27216ab0..738dd95318b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.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-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js index c03ce2fb3df..1275f8f4d13 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.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-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.js index 22af92ed0b9..b95e2466ed0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 06e598197f2..f7574cf5747 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index 771b44aa26e..f75f80b4719 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.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-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js index c03ce2fb3df..1275f8f4d13 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/index.js b/packages/google-cloud-videointelligence/src/v1p1beta1/index.js index 22af92ed0b9..b95e2466ed0 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index e89e18fd2f1..f3c2924df92 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index 93622c9836d..41874106f0d 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.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-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js index c03ce2fb3df..1275f8f4d13 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/index.js b/packages/google-cloud-videointelligence/src/v1p2beta1/index.js index 22af92ed0b9..b95e2466ed0 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 211e5255cee..edd1d9a786e 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index bd680786e24..36007ffd6a9 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-01-03T17:47:21.537147Z", + "updateTime": "2019-01-17T12:49:11.575253Z", "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-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 98e1478a85e..ce04eadcc37 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index beb3ce95dec..0842fe21fe4 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.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-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index befa16c4c00..43d1f6607a5 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.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-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index c9e7ac6cc78..08f1266c05f 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index 9161bb7f570..c9af82d81b2 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/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. From b342001d1bfe9ab1b403413be2bea4e86e01b978 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 25 Jan 2019 09:52:16 -0800 Subject: [PATCH 135/418] fix(deps): update dependency google-gax to ^0.24.0 (#181) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b7db3d3fed5..4e3be136aa2 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -40,7 +40,7 @@ "fix": "eslint --fix '**/*.js'" }, "dependencies": { - "google-gax": "^0.23.0", + "google-gax": "^0.24.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From c56cd93dea80e548cefcf6e9e93c94d223a255ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sat, 26 Jan 2019 10:40:33 -0800 Subject: [PATCH 136/418] chore(deps): update dependency eslint-config-prettier to v4 (#182) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4e3be136aa2..13765d0738d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -48,7 +48,7 @@ "@google-cloud/nodejs-repo-tools": "^3.0.0", "codecov": "^3.0.2", "eslint": "^5.0.0", - "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 54a81c65c0cbb685595840771e98efd4fc97a648 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 30 Jan 2019 12:19:48 -0800 Subject: [PATCH 137/418] fix(deps): update dependency google-gax to ^0.25.0 (#183) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 13765d0738d..1ad628c8188 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -40,7 +40,7 @@ "fix": "eslint --fix '**/*.js'" }, "dependencies": { - "google-gax": "^0.24.0", + "google-gax": "^0.25.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 8827a1ee3329633636b94c7afe480bf47a4a91d5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Sat, 2 Feb 2019 10:29:13 -0800 Subject: [PATCH 138/418] refactor: improve generated code style. (#184) --- .../src/v1/video_intelligence_service_client.js | 11 ++--------- .../src/v1beta1/video_intelligence_service_client.js | 11 ++--------- .../src/v1beta2/video_intelligence_service_client.js | 11 ++--------- .../v1p1beta1/video_intelligence_service_client.js | 11 ++--------- .../v1p2beta1/video_intelligence_service_client.js | 11 ++--------- .../google-cloud-videointelligence/synth.metadata | 10 +++++----- 6 files changed, 15 insertions(+), 50 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 47908556052..994af38b325 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -276,20 +276,14 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 => { @@ -307,8 +301,7 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 44f61bd12ae..08f973118e2 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -275,20 +275,14 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 => { @@ -306,8 +300,7 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index f7574cf5747..93437748562 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -276,20 +276,14 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 => { @@ -307,8 +301,7 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index f3c2924df92..9eeae37000a 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -276,20 +276,14 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 => { @@ -307,8 +301,7 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index edd1d9a786e..7c6bc4bcb15 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -276,20 +276,14 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the promise pattern. * client.annotateVideo(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 => { @@ -307,8 +301,7 @@ class VideoIntelligenceServiceClient { * // Handle the operation using the event emitter pattern. * client.annotateVideo(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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 36007ffd6a9..e5abde2c141 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-01-17T12:49:11.575253Z", + "updateTime": "2019-02-02T12:26:38.531882Z", "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 0812bc2755c026027f9507db12568b997f0b7080 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 6 Feb 2019 14:57:48 -0800 Subject: [PATCH 139/418] Release v1.5.1 (#186) --- .../CHANGELOG.md | 20 +++++++++++++++++++ .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 66ef684c178..2e4984e8959 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,26 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## v1.5.1 + +02-05-2019 15:05 PST + +### Fixes +- fix: increase gRPC timeout window ([#139](https://github.com/googleapis/nodejs-video-intelligence/pull/139)) + +### Dependencies +- fix(deps): update dependency google-gax to ^0.25.0 ([#183](https://github.com/googleapis/nodejs-video-intelligence/pull/183)) +- refactor: remove unused deps and fix lint ([#141](https://github.com/googleapis/nodejs-video-intelligence/pull/141)) + +### Documentation +- docs: add lint/fix example to contributing guide ([#185](https://github.com/googleapis/nodejs-video-intelligence/pull/185)) +- docs: remove unused long running operation message typesed to pick up changes in the API or client library generator. ([#176](https://github.com/googleapis/nodejs-video-intelligence/pull/176)) +- docs: fix filepath of example command in README ([#160](https://github.com/googleapis/nodejs-video-intelligence/pull/160)) +- docs: fix typo in samples/analyze.js ([#159](https://github.com/googleapis/nodejs-video-intelligence/pull/159)) +- docs: update readme badges ([#156](https://github.com/googleapis/nodejs-video-intelligence/pull/156)) +- docs(samples): update samples to use GA APIs ([#153](https://github.com/googleapis/nodejs-video-intelligence/pull/153)) +- docs(samples): updated samples code to use async await ([#151](https://github.com/googleapis/nodejs-video-intelligence/pull/151)) + ## v1.5.0 ### New features diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 1ad628c8188..ed2853ad5ba 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.5.0", + "version": "1.5.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 780dc0ad181..38af95f246c 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=600000" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.5.0", + "@google-cloud/video-intelligence": "^1.5.1", "yargs": "^12.0.0" }, "devDependencies": { From 2dc2cb9ed7efd235e2d6fb9e3ef5afab152b9fde Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 7 Feb 2019 15:45:17 -0800 Subject: [PATCH 140/418] chore: move CONTRIBUTING.md to root (#188) --- .../CONTRIBUTING.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 packages/google-cloud-videointelligence/CONTRIBUTING.md diff --git a/packages/google-cloud-videointelligence/CONTRIBUTING.md b/packages/google-cloud-videointelligence/CONTRIBUTING.md new file mode 100644 index 00000000000..b958f235007 --- /dev/null +++ b/packages/google-cloud-videointelligence/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 807dd77fe34000fcd1d8f9ac8d09a1f29481d616 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 7 Feb 2019 18:49:04 -0800 Subject: [PATCH 141/418] docs: update contributing path in README (#189) --- packages/google-cloud-videointelligence/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 8fca9b585a6..606aa6f2503 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -153,7 +153,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/blob/master/.github/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/blob/master/CONTRIBUTING.md). ## License From 89a1162842480df5f6399ff75e214845bcf97f8a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 10 Feb 2019 20:54:48 -0800 Subject: [PATCH 142/418] build: create docs test npm scripts (#191) --- packages/google-cloud-videointelligence/package.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ed2853ad5ba..b50c52295b3 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -37,7 +37,9 @@ "system-test": "mocha system-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-gax": "^0.25.0", @@ -57,6 +59,7 @@ "mocha": "^5.2.0", "nyc": "^13.0.0", "power-assert": "^1.6.0", - "prettier": "^1.13.5" + "prettier": "^1.13.5", + "broken-link-checker-local": "^0.2.0" } } From f882a36d560dd11d770e845f2ed93bee92d2122e Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 14 Feb 2019 08:51:25 -0800 Subject: [PATCH 143/418] docs: update links in contrib guide (#195) --- packages/google-cloud-videointelligence/CONTRIBUTING.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/CONTRIBUTING.md b/packages/google-cloud-videointelligence/CONTRIBUTING.md index b958f235007..78aaa61b269 100644 --- a/packages/google-cloud-videointelligence/CONTRIBUTING.md +++ b/packages/google-cloud-videointelligence/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 b0399e6194b367a769e777a969fafb7c6c4acd21 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 14 Feb 2019 12:01:27 -0800 Subject: [PATCH 144/418] build: use linkinator for docs test (#194) --- packages/google-cloud-videointelligence/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b50c52295b3..93aeea99004 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/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": { @@ -60,6 +60,6 @@ "nyc": "^13.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.5", - "broken-link-checker-local": "^0.2.0" + "linkinator": "^1.1.2" } } From 90cbc034d6576074603df67050f29f8bd737a9c6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 14 Feb 2019 13:40:16 -0800 Subject: [PATCH 145/418] fix: throw on invalid credentials --- .../src/v1/video_intelligence_service_client.js | 4 ++++ .../src/v1beta1/video_intelligence_service_client.js | 4 ++++ .../src/v1beta2/video_intelligence_service_client.js | 4 ++++ .../src/v1p1beta1/video_intelligence_service_client.js | 4 ++++ .../src/v1p2beta1/video_intelligence_service_client.js | 4 ++++ packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 994af38b325..5325c8d1640 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -161,6 +161,10 @@ class VideoIntelligenceServiceClient { 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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 08f973118e2..780e8ac6e3f 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -161,6 +161,10 @@ class VideoIntelligenceServiceClient { 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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 93437748562..aec2fc7e783 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -161,6 +161,10 @@ class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 9eeae37000a..ffb6346f4de 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -161,6 +161,10 @@ class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 7c6bc4bcb15..c7ab4324f8b 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -161,6 +161,10 @@ class VideoIntelligenceServiceClient { 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index e5abde2c141..c2c8bd9e255 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-02-02T12:26:38.531882Z", + "updateTime": "2019-02-13T12:29:47.057383Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.8", - "dockerImage": "googleapis/artman@sha256:75bc07ef34a1de9895c18af54dc503ed3b3f3b52e85062e3360a979d2a0741e7" + "version": "0.16.13", + "dockerImage": "googleapis/artman@sha256:5fd9aee1d82a00cebf425c8fa431f5457539562f5867ad9c54370f0ec9a7ccaa" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bce093dab3e65c40eb9a37efbdc960f34df6037a", - "internalRef": "231974277" + "sha": "ca61898878f0926dd9dcc68ba90764f17133efe4", + "internalRef": "233680013" } }, { From 3a1b44de5a29553dd18fb2619e2aab7f4c42fcad Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 14 Feb 2019 13:42:32 -0800 Subject: [PATCH 146/418] fix(deps): update dependency yargs to v13 (#192) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 38af95f246c..f8e9bb2663e 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@google-cloud/video-intelligence": "^1.5.1", - "yargs": "^12.0.0" + "yargs": "^13.0.0" }, "devDependencies": { "chai": "^4.2.0", From e33937ea912e14e3c96a966b827f1eae2510beaa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 19 Feb 2019 10:10:13 -0800 Subject: [PATCH 147/418] chore(deps): update dependency mocha to v6 chore(deps): update dependency mocha to v6 This PR contains the following updates: | Package | Type | Update | Change | References | |---|---|---|---|---| | mocha | devDependencies | major | `^5.2.0` -> `^6.0.0` | [homepage](https://mochajs.org/), [source](https://togithub.com/mochajs/mocha) | --- ### Release Notes
mochajs/mocha ### [`v6.0.0`](https://togithub.com/mochajs/mocha/blob/master/CHANGELOG.md#​600--2019-02-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v5.2.0...v6.0.0) #### :tada: Enhancements - [#​3726](https://togithub.com/mochajs/mocha/issues/3726): Add ability to unload files from `require` cache ([**@​plroebuck**](https://togithub.com/plroebuck)) #### :bug: Fixes - [#​3737](https://togithub.com/mochajs/mocha/issues/3737): Fix falsy values from options globals ([**@​plroebuck**](https://togithub.com/plroebuck)) - [#​3707](https://togithub.com/mochajs/mocha/issues/3707): Fix encapsulation issues for `Suite#_onlyTests` and `Suite#_onlySuites` ([**@​vkarpov15**](https://togithub.com/vkarpov15)) - [#​3711](https://togithub.com/mochajs/mocha/issues/3711): Fix diagnostic messages dealing with plurality and markup of output ([**@​plroebuck**](https://togithub.com/plroebuck)) - [#​3723](https://togithub.com/mochajs/mocha/issues/3723): Fix "reporter-option" to allow comma-separated options ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3722](https://togithub.com/mochajs/mocha/issues/3722): Fix code quality and performance of `lookupFiles` and `files` ([**@​plroebuck**](https://togithub.com/plroebuck)) - [#​3650](https://togithub.com/mochajs/mocha/issues/3650), [#​3654](https://togithub.com/mochajs/mocha/issues/3654): Fix noisy error message when no files found ([**@​craigtaub**](https://togithub.com/craigtaub)) - [#​3632](https://togithub.com/mochajs/mocha/issues/3632): Tests having an empty title are no longer confused with the "root" suite ([**@​juergba**](https://togithub.com/juergba)) - [#​3666](https://togithub.com/mochajs/mocha/issues/3666): Fix missing error codes ([**@​vkarpov15**](https://togithub.com/vkarpov15)) - [#​3684](https://togithub.com/mochajs/mocha/issues/3684): Fix exiting problem in Node.js v11.7.0+ ([**@​addaleax**](https://togithub.com/addaleax)) - [#​3691](https://togithub.com/mochajs/mocha/issues/3691): Fix `--delay` (and other boolean options) not working in all cases ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3692](https://togithub.com/mochajs/mocha/issues/3692): Fix invalid command-line argument usage not causing actual errors ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3698](https://togithub.com/mochajs/mocha/issues/3698), [#​3699](https://togithub.com/mochajs/mocha/issues/3699): Fix debug-related Node.js options not working in all cases ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3700](https://togithub.com/mochajs/mocha/issues/3700): Growl notifications now show the correct number of tests run ([**@​outsideris**](https://togithub.com/outsideris)) - [#​3686](https://togithub.com/mochajs/mocha/issues/3686): Avoid potential ReDoS when diffing large objects ([**@​cyjake**](https://togithub.com/cyjake)) - [#​3715](https://togithub.com/mochajs/mocha/issues/3715): Fix incorrect order of emitted events when used programmatically ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3706](https://togithub.com/mochajs/mocha/issues/3706): Fix regression wherein `--reporter-option`/`--reporter-options` did not support comma-separated key/value pairs ([**@​boneskull**](https://togithub.com/boneskull)) #### :book: Documentation - [#​3652](https://togithub.com/mochajs/mocha/issues/3652): Switch from Jekyll to Eleventy ([**@​Munter**](https://togithub.com/Munter)) #### :nut_and_bolt: Other - [#​3677](https://togithub.com/mochajs/mocha/issues/3677): Add error objects for createUnsupportedError and createInvalidExceptionError ([**@​boneskull**](https://togithub.com/boneskull)) - [#​3733](https://togithub.com/mochajs/mocha/issues/3733): Removed unnecessary processing in post-processing hook ([**@​wanseob**](https://togithub.com/wanseob)) - [#​3730](https://togithub.com/mochajs/mocha/issues/3730): Update nyc to latest version ([**@​coreyfarrell**](https://togithub.com/coreyfarrell)) - [#​3648](https://togithub.com/mochajs/mocha/issues/3648), [#​3680](https://togithub.com/mochajs/mocha/issues/3680): Fixes to support latest versions of [unexpected](https://npm.im/unexpected) and [unexpected-sinon](https://npm.im/unexpected-sinon) ([**@​sunesimonsen**](https://togithub.com/sunesimonsen)) - [#​3638](https://togithub.com/mochajs/mocha/issues/3638): Add meta tag to site ([**@​MartijnCuppens**](https://togithub.com/MartijnCuppens)) - [#​3653](https://togithub.com/mochajs/mocha/issues/3653): Fix parts of test suite failing to run on Windows ([**@​boneskull**](https://togithub.com/boneskull))
--- ### 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 stale, or if you modify the PR title to begin with "`rebase!`". :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 [Renovate Bot](https://togithub.com/marketplace/renovate). View repository job log [here](https://renovatebot.com/dashboard#googleapis/nodejs-video-intelligence). #196 automerged by dpebot --- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 93aeea99004..06b0a6dd34d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,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.5", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f8e9bb2663e..f99ac1b7457 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -21,6 +21,6 @@ "devDependencies": { "chai": "^4.2.0", "execa": "^1.0.0", - "mocha": "^5.2.0" + "mocha": "^6.0.0" } } From b4d993cfdbff67ae9f4f7a8fd10fd89f89ffe401 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 21 Feb 2019 07:39:44 -0800 Subject: [PATCH 148/418] feat: add text detection and object mapping support (#197) --- .../v1/video_intelligence.proto | 139 ++++++++++- .../v1/doc_video_intelligence.js | 230 +++++++++++++++++- .../synth.metadata | 10 +- 3 files changed, 372 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 223e866e53a..04875086510 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -1,4 +1,4 @@ -// Copyright 2017 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"; @@ -101,6 +102,9 @@ message VideoContext { // Config for SPEECH_TRANSCRIPTION. SpeechTranscriptionConfig speech_transcription_config = 6; + + // Config for TEXT_DETECTION. + TextDetectionConfig text_detection_config = 8; } // Config for LABEL_DETECTION. @@ -148,6 +152,16 @@ message FaceDetectionConfig { bool include_bounding_boxes = 2; } +// Config for TEXT_DETECTION. +message TextDetectionConfig { + // Language hint can be specified if the language to be detected is known a + // priori. It can increase the accuracy of the detection. Language hint must + // be language code in BCP-47 format. + // + // Automatic language detection is performed if no hint is provided. + repeated string language_hints = 1; +} + // Video segment. message VideoSegment { // Time-offset, relative to the beginning of the video, @@ -305,6 +319,14 @@ message VideoAnnotationResults { // Speech transcription. repeated SpeechTranscription speech_transcriptions = 11; + // OCR text detection and tracking. + // Annotations for list of detected text snippets. Each will have list of + // frame information associated with it. + repeated TextAnnotation text_annotations = 12; + + // Annotations for list of objects detected and tracked in video. + repeated ObjectTrackingAnnotation object_annotations = 14; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -479,6 +501,115 @@ message WordInfo { int32 speaker_tag = 5; } +// 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; +} + +// Normalized bounding polygon for text (that might not be aligned with axis). +// Contains list of the corner points in clockwise order starting from +// top-left corner. For example, for a rectangular bounding box: +// When the text is horizontal it might look like: +// 0----1 +// | | +// 3----2 +// +// When it's clockwise 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). Note that values can be less +// than 0, or greater than 1 due to trignometric calculations for location of +// the box. +message NormalizedBoundingPoly { + // Normalized vertices of the bounding polygon. + repeated NormalizedVertex vertices = 1; +} + +// Video segment level annotation results for text detection. +message TextSegment { + // Video segment where a text snippet was detected. + VideoSegment segment = 1; + + // Confidence for the track of detected text. It is calculated as the highest + // over all frames where OCR detected text appears. + float confidence = 2; + + // Information related to the frames where OCR detected text appears. + repeated TextFrame frames = 3; +} + +// Video frame level annotation results for text annotation (OCR). +// Contains information regarding timestamp and bounding box locations for the +// frames containing detected OCR text snippets. +message TextFrame { + // Bounding polygon of the detected text for this frame. + NormalizedBoundingPoly rotated_bounding_box = 1; + + // Timestamp of this frame. + google.protobuf.Duration time_offset = 2; +} + +// Annotations related to one detected OCR text snippet. This will contain the +// corresponding text, confidence value, and frame level information for each +// detection. +message TextAnnotation { + // The detected text. + string text = 1; + + // All video segments where OCR detected text appears. + repeated TextSegment segments = 2; +} + +// Video frame level annotations for object detection and tracking. This field +// stores per frame location, time offset, and confidence. +message ObjectTrackingFrame { + // The normalized bounding box location of this object track for the frame. + NormalizedBoundingBox normalized_bounding_box = 1; + + // The timestamp of the frame in microseconds. + google.protobuf.Duration time_offset = 2; +} + +// Annotations corresponding to one tracked object. +message ObjectTrackingAnnotation { + // Different representation of tracking info in non-streaming batch + // and streaming modes. + oneof track_info { + // Non-streaming batch mode ONLY. + // Each object track corresponds to one video segment where it appears. + VideoSegment segment = 3; + + // Streaming mode ONLY. + // In streaming mode, we do not know the end time of a tracked object + // before it is completed. Hence, there is no VideoSegment info returned. + // Instead, we provide a unique identifiable integer track_id so that + // the customers can correlate the results of the ongoing + // ObjectTrackAnnotation of the same track_id over time. + int64 track_id = 5; + } + + // Entity to specify the object category that this track is labeled as. + Entity entity = 1; + + // Object category's labeling confidence of this track. + float confidence = 4; + + // Information corresponding to all frames where this object track appears. + // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame + // messages in frames. + // Streaming mode: it can only be one ObjectTrackingFrame message in frames. + repeated ObjectTrackingFrame frames = 2; +} + // Video annotation feature. enum Feature { // Unspecified. @@ -498,6 +629,12 @@ enum Feature { // Speech transcription. SPEECH_TRANSCRIPTION = 6; + + // OCR text detection and tracking. + TEXT_DETECTION = 7; + + // Object detection and tracking. + OBJECT_TRACKING = 9; } // Label detection mode. diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 2d4edfbcded..128738b27ac 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -101,6 +101,11 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig} * + * @property {Object} textDetectionConfig + * Config for TEXT_DETECTION. + * + * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1.TextDetectionConfig} + * * @typedef VideoContext * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} @@ -188,6 +193,24 @@ const FaceDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for TEXT_DETECTION. + * + * @property {string[]} languageHints + * Language hint can be specified if the language to be detected is known a + * priori. It can increase the accuracy of the detection. Language hint must + * be language code in BCP-47 format. + * + * Automatic language detection is performed if no hint is provided. + * + * @typedef TextDetectionConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const TextDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Video segment. * @@ -480,6 +503,18 @@ const FaceAnnotation = { * * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1.SpeechTranscription} * + * @property {Object[]} textAnnotations + * OCR text detection and tracking. + * Annotations for list of detected text snippets. Each will have list of + * frame information associated with it. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1.TextAnnotation} + * + * @property {Object[]} objectAnnotations + * Annotations for list of objects detected and tracked in video. + * + * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation} + * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. @@ -745,6 +780,189 @@ const WordInfo = { // 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.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding polygon for text (that might not be aligned with axis). + * Contains list of the corner points in clockwise order starting from + * top-left corner. For example, for a rectangular bounding box: + * When the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * + * When it's clockwise 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). Note that values can be less + * than 0, or greater than 1 due to trignometric calculations for location of + * the box. + * + * @property {Object[]} vertices + * Normalized vertices of the bounding polygon. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1.NormalizedVertex} + * + * @typedef NormalizedBoundingPoly + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const NormalizedBoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for text detection. + * + * @property {Object} segment + * Video segment where a text snippet was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @property {number} confidence + * Confidence for the track of detected text. It is calculated as the highest + * over all frames where OCR detected text appears. + * + * @property {Object[]} frames + * Information related to the frames where OCR detected text appears. + * + * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1.TextFrame} + * + * @typedef TextSegment + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const TextSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for text annotation (OCR). + * Contains information regarding timestamp and bounding box locations for the + * frames containing detected OCR text snippets. + * + * @property {Object} rotatedBoundingBox + * Bounding polygon of the detected text for this frame. + * + * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1.NormalizedBoundingPoly} + * + * @property {Object} timeOffset + * Timestamp of this frame. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef TextFrame + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const TextFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations related to one detected OCR text snippet. This will contain the + * corresponding text, confidence value, and frame level information for each + * detection. + * + * @property {string} text + * The detected text. + * + * @property {Object[]} segments + * All video segments where OCR detected text appears. + * + * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1.TextSegment} + * + * @typedef TextAnnotation + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotations for object detection and tracking. This field + * stores per frame location, time offset, and confidence. + * + * @property {Object} normalizedBoundingBox + * The normalized bounding box location of this object track for the frame. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1.NormalizedBoundingBox} + * + * @property {Object} timeOffset + * The timestamp of the frame in microseconds. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef ObjectTrackingFrame + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const ObjectTrackingFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations corresponding to one tracked object. + * + * @property {Object} segment + * Non-streaming batch mode ONLY. + * Each object track corresponds to one video segment where it appears. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * + * @property {number} trackId + * Streaming mode ONLY. + * In streaming mode, we do not know the end time of a tracked object + * before it is completed. Hence, there is no VideoSegment info returned. + * Instead, we provide a unique identifiable integer track_id so that + * the customers can correlate the results of the ongoing + * ObjectTrackAnnotation of the same track_id over time. + * + * @property {Object} entity + * Entity to specify the object category that this track is labeled as. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} + * + * @property {number} confidence + * Object category's labeling confidence of this track. + * + * @property {Object[]} frames + * Information corresponding to all frames where this object track appears. + * Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame + * messages in frames. + * Streaming mode: it can only be one ObjectTrackingFrame message in frames. + * + * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1.ObjectTrackingFrame} + * + * @typedef ObjectTrackingAnnotation + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const ObjectTrackingAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Video annotation feature. * @@ -781,7 +999,17 @@ const Feature = { /** * Speech transcription. */ - SPEECH_TRANSCRIPTION: 6 + SPEECH_TRANSCRIPTION: 6, + + /** + * OCR text detection and tracking. + */ + TEXT_DETECTION: 7, + + /** + * Object detection and tracking. + */ + OBJECT_TRACKING: 9 }; /** diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c2c8bd9e255..3962c6f4efd 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-02-13T12:29:47.057383Z", + "updateTime": "2019-02-21T12:20:49.083829Z", "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": "9cf63704bd272a40b79dde5a2b33f61104ee4f7f", + "internalRef": "234935970" } }, { From ff2b7fc039e5493bf760d493182617ef0566cdc2 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 21 Feb 2019 13:45:36 -0800 Subject: [PATCH 149/418] feat: generate v1p3beta1 with streaming support (#198) --- .../google-cloud-videointelligence/.gitignore | 1 + .../package.json | 5 +- .../v1p3beta1/video_intelligence.proto | 627 ++++++++++ .../src/index.js | 15 + .../v1p3beta1/doc_video_intelligence.js | 1023 +++++++++++++++++ .../doc/google/longrunning/doc_operations.js | 63 + .../v1p3beta1/doc/google/protobuf/doc_any.js | 136 +++ .../doc/google/protobuf/doc_duration.js | 97 ++ .../v1p3beta1/doc/google/rpc/doc_status.js | 92 ++ .../src/v1p3beta1/index.js | 21 + ...aming_video_intelligence_service_client.js | 222 ++++ ...eo_intelligence_service_client_config.json | 31 + .../video_intelligence_service_client.js | 342 ++++++ ...eo_intelligence_service_client_config.json | 31 + .../synth.metadata | 12 +- .../google-cloud-videointelligence/synth.py | 2 +- .../test/gapic-v1p3beta1.js | 229 ++++ 17 files changed, 2945 insertions(+), 4 deletions(-) create mode 100644 packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json create mode 100644 packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index 8db114fab10..c199edd9e91 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -9,3 +9,4 @@ system-test/*key.json *.lock package-lock.json .vscode +__pycache__ diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 06b0a6dd34d..b13e765e15b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -53,13 +53,14 @@ "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", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", + "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", + "linkinator": "^1.1.2", "mocha": "^6.0.0", "nyc": "^13.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.5", - "linkinator": "^1.1.2" + "through2": "^3.0.0" } } diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto new file mode 100644 index 00000000000..fa5b7515d56 --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -0,0 +1,627 @@ +// 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.videointelligence.v1p3beta1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P3Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1;videointelligence"; +option java_multiple_files = true; +option java_outer_classname = "VideoIntelligenceServiceProto"; +option java_package = "com.google.cloud.videointelligence.v1p3beta1"; +option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; + + +// Service that implements Google Cloud Video Intelligence API. +service VideoIntelligenceService { + // Performs asynchronous video annotation. Progress and results can be + // retrieved through the `google.longrunning.Operations` interface. + // `Operation.metadata` contains `AnnotateVideoProgress` (progress). + // `Operation.response` contains `AnnotateVideoResponse` (results). + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p3beta1/videos:annotate" + body: "*" + }; + } +} + +// Service that implements Google Cloud Video Intelligence Streaming API. +service StreamingVideoIntelligenceService { + // Performs video annotation with bidirectional streaming: emitting results + // while sending video/audio bytes. + // This method is only available via the gRPC API (not REST). + rpc StreamingAnnotateVideo(stream StreamingAnnotateVideoRequest) + returns (stream StreamingAnnotateVideoResponse); +} + +// Video annotation request. +message AnnotateVideoRequest { + // Input video location. Currently, only + // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // '?' to match 1 character. If unset, the input video should be embedded + // in the request as `input_content`. If set, `input_content` should be unset. + string input_uri = 1; + + // The video data bytes. + // If unset, the input video(s) should be specified via `input_uri`. + // If set, `input_uri` should be unset. + bytes input_content = 6; + + // Requested video annotation features. + repeated Feature features = 2; + + // Additional video context and/or feature-specific parameters. + VideoContext video_context = 3; + + // Optional location where the output (in JSON format) should be stored. + // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported, which must be specified in the following format: + // `gs://bucket-id/object-id` (other URI formats return + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4; + + // Optional cloud region where annotation should take place. Supported cloud + // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + // is specified, a region will be determined based on video file location. + string location_id = 5; +} + +// Video context and/or feature-specific parameters. +message VideoContext { + // Video segments to annotate. The segments may overlap and are not required + // to be contiguous or span the whole video. If unspecified, each video is + // treated as a single segment. + repeated VideoSegment segments = 1; + + // Config for LABEL_DETECTION. + LabelDetectionConfig label_detection_config = 2; + + // Config for SHOT_CHANGE_DETECTION. + ShotChangeDetectionConfig shot_change_detection_config = 3; + + // Config for EXPLICIT_CONTENT_DETECTION. + ExplicitContentDetectionConfig explicit_content_detection_config = 4; + + // Config for TEXT_DETECTION. + TextDetectionConfig text_detection_config = 8; +} + +// Config for LABEL_DETECTION. +message LabelDetectionConfig { + // What labels should be detected with LABEL_DETECTION, in addition to + // video-level labels or segment-level labels. + // If unspecified, defaults to `SHOT_MODE`. + LabelDetectionMode label_detection_mode = 1; + + // Whether the video has been shot from a stationary (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving objects. + // Should be used with `SHOT_AND_FRAME_MODE` enabled. + bool stationary_camera = 2; + + // Model to use for label detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// Config for SHOT_CHANGE_DETECTION. +message ShotChangeDetectionConfig { + // Model to use for shot change detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + +// Config for TEXT_DETECTION. +message TextDetectionConfig { + // Language hint can be specified if the language to be detected is known a + // priori. It can increase the accuracy of the detection. Language hint must + // be language code in BCP-47 format. + // + // Automatic language detection is performed if no hint is provided. + repeated string language_hints = 1; +} + +// Video segment. +message VideoSegment { + // Time-offset, relative to the beginning of the video, + // corresponding to the start of the segment (inclusive). + google.protobuf.Duration start_time_offset = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the end of the segment (inclusive). + google.protobuf.Duration end_time_offset = 2; +} + +// Video segment level annotation results for label detection. +message LabelSegment { + // Video segment where a label was detected. + VideoSegment segment = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Video frame level annotation results for label detection. +message LabelFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Confidence that the label is accurate. Range: [0, 1]. + float confidence = 2; +} + +// Detected entity from video analysis. +message Entity { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string entity_id = 1; + + // Textual description, e.g. `Fixed-gear bicycle`. + string description = 2; + + // Language code for `description` in BCP-47 format. + string language_code = 3; +} + +// Label annotation. +message LabelAnnotation { + // Detected entity. + Entity entity = 1; + + // Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in some + // cases there might be more than one categories e.g. `Terrier` could also be + // a `pet`. + repeated Entity category_entities = 2; + + // All video segments where a label was detected. + repeated LabelSegment segments = 3; + + // All video frames where a label was detected. + repeated LabelFrame frames = 4; +} + +// Video frame level annotation results for explicit content. +message ExplicitContentFrame { + // Time-offset, relative to the beginning of the video, corresponding to the + // video frame for this location. + google.protobuf.Duration time_offset = 1; + + // Likelihood of the pornography content.. + Likelihood pornography_likelihood = 2; +} + +// Explicit content annotation (based on per-frame visual signals only). +// If no explicit content has been detected in a frame, no annotations are +// present for that frame. +message ExplicitContentAnnotation { + // All video frames where explicit content was detected. + repeated ExplicitContentFrame frames = 1; +} + +// Normalized bounding box. +// The normalized vertex coordinates are relative to the original image. +// Range: [0, 1]. +message NormalizedBoundingBox { + // Left X coordinate. + float left = 1; + + // Top Y coordinate. + float top = 2; + + // Right X coordinate. + float right = 3; + + // Bottom Y coordinate. + float bottom = 4; +} + +// Annotation results for a single video. +message VideoAnnotationResults { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. + repeated LabelAnnotation segment_label_annotations = 2; + + // Label annotations on shot level. + // There is exactly one element for each unique label. + repeated LabelAnnotation shot_label_annotations = 3; + + // Label annotations on frame level. + // There is exactly one element for each unique label. + repeated LabelAnnotation frame_label_annotations = 4; + + // Shot annotations. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 6; + + // Explicit content annotation. + ExplicitContentAnnotation explicit_annotation = 7; + + // OCR text detection and tracking. + // Annotations for list of detected text snippets. Each will have list of + // frame information associated with it. + repeated TextAnnotation text_annotations = 12; + + // Annotations for list of objects detected and tracked in video. + repeated ObjectTrackingAnnotation object_annotations = 14; + + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` + // some videos may succeed and some may fail. + google.rpc.Status error = 9; +} + +// Video annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoResponse { + // Annotation results for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationResults annotation_results = 1; +} + +// Annotation progress for a single video. +message VideoAnnotationProgress { + // Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + string input_uri = 1; + + // Approximate percentage processed thus far. Guaranteed to be + // 100 when fully processed. + int32 progress_percent = 2; + + // Time when the request was received. + google.protobuf.Timestamp start_time = 3; + + // Time of the most recent update. + google.protobuf.Timestamp update_time = 4; +} + +// Video annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +message AnnotateVideoProgress { + // Progress metadata for all videos specified in `AnnotateVideoRequest`. + repeated VideoAnnotationProgress annotation_progress = 1; +} + +// 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; +} + +// Normalized bounding polygon for text (that might not be aligned with axis). +// Contains list of the corner points in clockwise order starting from +// top-left corner. For example, for a rectangular bounding box: +// When the text is horizontal it might look like: +// 0----1 +// | | +// 3----2 +// +// When it's clockwise 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). Note that values can be less +// than 0, or greater than 1 due to trignometric calculations for location of +// the box. +message NormalizedBoundingPoly { + // Normalized vertices of the bounding polygon. + repeated NormalizedVertex vertices = 1; +} + +// Video segment level annotation results for text detection. +message TextSegment { + // Video segment where a text snippet was detected. + VideoSegment segment = 1; + + // Confidence for the track of detected text. It is calculated as the highest + // over all frames where OCR detected text appears. + float confidence = 2; + + // Information related to the frames where OCR detected text appears. + repeated TextFrame frames = 3; +} + +// Video frame level annotation results for text annotation (OCR). +// Contains information regarding timestamp and bounding box locations for the +// frames containing detected OCR text snippets. +message TextFrame { + // Bounding polygon of the detected text for this frame. + NormalizedBoundingPoly rotated_bounding_box = 1; + + // Timestamp of this frame. + google.protobuf.Duration time_offset = 2; +} + +// Annotations related to one detected OCR text snippet. This will contain the +// corresponding text, confidence value, and frame level information for each +// detection. +message TextAnnotation { + // The detected text. + string text = 1; + + // All video segments where OCR detected text appears. + repeated TextSegment segments = 2; +} + +// Video frame level annotations for object detection and tracking. This field +// stores per frame location, time offset, and confidence. +message ObjectTrackingFrame { + // The normalized bounding box location of this object track for the frame. + NormalizedBoundingBox normalized_bounding_box = 1; + + // The timestamp of the frame in microseconds. + google.protobuf.Duration time_offset = 2; +} + +// Annotations corresponding to one tracked object. +message ObjectTrackingAnnotation { + // Entity to specify the object category that this track is labeled as. + Entity entity = 1; + + // Object category's labeling confidence of this track. + float confidence = 4; + + // Information corresponding to all frames where this object track appears. + // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame + // messages in frames. + // Streaming mode: it can only be one ObjectTrackingFrame message in frames. + repeated ObjectTrackingFrame frames = 2; + + // Different representation of tracking info in non-streaming batch + // and streaming modes. + oneof track_info { + // Non-streaming batch mode ONLY. + // Each object track corresponds to one video segment where it appears. + VideoSegment segment = 3; + // Streaming mode ONLY. + // In streaming mode, we do not know the end time of a tracked object + // before it is completed. Hence, there is no VideoSegment info returned. + // Instead, we provide a unique identifiable integer track_id so that + // the customers can correlate the results of the ongoing + // ObjectTrackAnnotation of the same track_id over time. + int64 track_id = 5; + } +} + +// The top-level message sent by the client for the `StreamingAnnotateVideo` +// method. Multiple `StreamingAnnotateVideoRequest` messages are sent. +// The first message must only contain a `StreamingVideoConfig` message. +// All subsequent messages must only contain `input_content` data. +message StreamingAnnotateVideoRequest { + // *Required* The streaming request, which is either a streaming config or + // video content. + oneof streaming_request { + // Provides information to the annotator, specifing how to process the + // request. The first `AnnotateStreamingVideoRequest` message must only + // contain a `video_config` message. + StreamingVideoConfig video_config = 1; + + // The video data to be annotated. Chunks of video data are sequentially + // sent in `StreamingAnnotateVideoRequest` messages. Except the initial + // `StreamingAnnotateVideoRequest` message containing only + // `video_config`, all subsequent `AnnotateStreamingVideoRequest` + // messages must only contain `input_content` field. + bytes input_content = 2; + } +} + +// `StreamingAnnotateVideoResponse` is the only message returned to the client +// by `StreamingAnnotateVideo`. A series of zero or more +// `StreamingAnnotateVideoResponse` messages are streamed back to the client. +message StreamingAnnotateVideoResponse { + // If set, returns a [google.rpc.Status][] message that + // specifies the error for the operation. + google.rpc.Status error = 1; + + // Streaming annotation results. + StreamingVideoAnnotationResults annotation_results = 2; + + // GCS URI that stores annotation results of one streaming session. + // It is a directory that can hold multiple files in JSON format. + // Example uri format: + // gs://bucket_id/object_id/cloud_project_name-session_id + string annotation_results_uri = 3; +} + +// Config for EXPLICIT_CONTENT_DETECTION in streaming mode. +message StreamingExplicitContentDetectionConfig { + // No customized config support. +} + +// Config for LABEL_DETECTION in streaming mode. +message StreamingLabelDetectionConfig { + // Whether the video has been captured from a stationary (i.e. non-moving) + // camera. When set to true, might improve detection accuracy for moving + // objects. Default: false. + bool stationary_camera = 1; +} + +// Config for STREAMING_OBJECT_TRACKING. +message StreamingObjectTrackingConfig { + // No customized config support. +} + +// Config for SHOT_CHANGE_DETECTION in streaming mode. +message StreamingShotChangeDetectionConfig { + // No customized config support. +} + +// Config for streaming storage option. +message StreamingStorageConfig { + // Enable streaming storage. Default: false. + bool enable_storage_annotation_result = 1; + + // GCS URI to store all annotation results for one client. Client should + // specify this field as the top-level storage directory. Annotation results + // of different sessions will be put into different sub-directories denoted + // by project_name and session_id. All sub-directories will be auto generated + // by program and will be made accessible to client in response proto. + // URIs must be specified in the following format: `gs://bucket-id/object-id` + // `bucket-id` should be a valid GCS bucket created by client and bucket + // permission shall also be configured properly. `object-id` can be arbitrary + // string that make sense to client. Other URI formats will return error and + // cause GCS write failure. + string annotation_result_storage_directory = 3; +} + +// Streaming annotation results corresponding to a portion of the video +// that is currently being processed. +message StreamingVideoAnnotationResults { + // Shot annotation results. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 1; + + // Label annotation results. + repeated LabelAnnotation label_annotations = 2; + + // Explicit content detection results. + ExplicitContentAnnotation explicit_annotation = 3; + + // Object tracking results. + repeated ObjectTrackingAnnotation object_annotations = 4; +} + +// Provides information to the annotator that specifies how to process the +// request. +message StreamingVideoConfig { + // Requested annotation feature. + StreamingFeature feature = 1; + + // Config for requested annotation feature. + oneof streaming_config { + // Config for SHOT_CHANGE_DETECTION. + StreamingShotChangeDetectionConfig shot_change_detection_config = 2; + + // Config for LABEL_DETECTION. + StreamingLabelDetectionConfig label_detection_config = 3; + + // Config for STREAMING_EXPLICIT_CONTENT_DETECTION. + StreamingExplicitContentDetectionConfig explicit_content_detection_config = + 4; + + // Config for STREAMING_OBJECT_TRACKING. + StreamingObjectTrackingConfig object_tracking_config = 5; + } + + // Streaming storage option. By default: storage is disabled. + StreamingStorageConfig storage_config = 30; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // OCR text detection and tracking. + TEXT_DETECTION = 7; + + // Object detection and tracking. + OBJECT_TRACKING = 9; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} + +// Streaming video annotation feature. +enum StreamingFeature { + // Unspecified. + STREAMING_FEATURE_UNSPECIFIED = 0; + // Label detection. Detect objects, such as dog or flower. + STREAMING_LABEL_DETECTION = 1; + // Shot change detection. + STREAMING_SHOT_CHANGE_DETECTION = 2; + // Explicit content detection. + STREAMING_EXPLICIT_CONTENT_DETECTION = 3; + // Object detection and tracking. + STREAMING_OBJECT_TRACKING = 4; +} diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index c6928ebff16..d9954a53c3e 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -39,6 +39,9 @@ /** * @namespace google.cloud.videointelligence.v1p2beta1 */ +/** + * @namespace google.cloud.videointelligence.v1p3beta1 + */ 'use strict'; @@ -49,6 +52,7 @@ const gapic = Object.freeze({ v1beta1: require('./v1beta1'), v1p1beta1: require('./v1p1beta1'), v1p2beta1: require('./v1p2beta1'), + v1p3beta1: require('./v1p3beta1'), }); /** @@ -76,6 +80,10 @@ const gapic = Object.freeze({ * particular backend service version. It exports: * - `VideoIntelligenceServiceClient` - Reference to * {@link v1p2beta1.VideoIntelligenceServiceClient} + * - `v1p3beta1` - This is used for selecting or pinning a + * particular backend service version. It exports: + * - `VideoIntelligenceServiceClient` - Reference to + * {@link v1p3beta1.VideoIntelligenceServiceClient} * * @module {object} @google-cloud/video-intelligence * @alias nodejs-video-intelligence @@ -142,5 +150,12 @@ module.exports.v1p1beta1 = gapic.v1p1beta1; */ module.exports.v1p2beta1 = gapic.v1p2beta1; +/** + * @type {object} + * @property {constructor} VideoIntelligenceServiceClient + * Reference to {@link v1p3beta1.VideoIntelligenceServiceClient} + */ +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-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js new file mode 100644 index 00000000000..6362370ed2f --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -0,0 +1,1023 @@ +// 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. + +/** + * Video annotation request. + * + * @property {string} inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * + * @property {string} inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * + * @property {number[]} features + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} + * + * @property {Object} videoContext + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} + * + * @property {string} outputUri + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * + * @property {string} locationId + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * + * @typedef AnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const AnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video context and/or feature-specific parameters. + * + * @property {Object[]} segments + * Video segments to annotate. The segments may overlap and are not required + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} + * + * @property {Object} textDetectionConfig + * Config for TEXT_DETECTION. + * + * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} + * + * @typedef VideoContext + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const VideoContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION. + * + * @property {number} labelDetectionMode + * What labels should be detected with LABEL_DETECTION, in addition to + * video-level labels or segment-level labels. + * If unspecified, defaults to `SHOT_MODE`. + * + * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p3beta1.LabelDetectionMode} + * + * @property {boolean} stationaryCamera + * Whether the video has been shot from a stationary (i.e. non-moving) camera. + * When set to true, might improve detection accuracy for moving objects. + * Should be used with `SHOT_AND_FRAME_MODE` enabled. + * + * @property {string} model + * Model to use for label detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef LabelDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const LabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION. + * + * @property {string} model + * Model to use for shot change detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION. + * + * @property {string} model + * Model to use for explicit content detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for TEXT_DETECTION. + * + * @property {string[]} languageHints + * Language hint can be specified if the language to be detected is known a + * priori. It can increase the accuracy of the detection. Language hint must + * be language code in BCP-47 format. + * + * Automatic language detection is performed if no hint is provided. + * + * @typedef TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const TextDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment. + * + * @property {Object} startTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the start of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTimeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the end of the segment (inclusive). + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const VideoSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for label detection. + * + * @property {Object} segment + * Video segment where a label was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const LabelSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for label detection. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} confidence + * Confidence that the label is accurate. Range: [0, 1]. + * + * @typedef LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const LabelFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Detected entity from video analysis. + * + * @property {string} entityId + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} description + * Textual description, e.g. `Fixed-gear bicycle`. + * + * @property {string} languageCode + * Language code for `description` in BCP-47 format. + * + * @typedef Entity + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const Entity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Label annotation. + * + * @property {Object} entity + * Detected entity. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} + * + * @property {Object[]} categoryEntities + * Common categories for the detected entity. + * E.g. when the label is `Terrier` the category is likely `dog`. And in some + * cases there might be more than one categories e.g. `Terrier` could also be + * a `pet`. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} + * + * @property {Object[]} segments + * All video segments where a label was detected. + * + * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p3beta1.LabelSegment} + * + * @property {Object[]} frames + * All video frames where a label was detected. + * + * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p3beta1.LabelFrame} + * + * @typedef LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const LabelAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for explicit content. + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, corresponding to the + * video frame for this location. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {number} pornographyLikelihood + * Likelihood of the pornography content.. + * + * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p3beta1.Likelihood} + * + * @typedef ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ExplicitContentFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Explicit content annotation (based on per-frame visual signals only). + * If no explicit content has been detected in a frame, no annotations are + * present for that frame. + * + * @property {Object[]} frames + * All video frames where explicit content was detected. + * + * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} + * + * @typedef ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ExplicitContentAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding box. + * The normalized vertex coordinates are relative to the original image. + * Range: [0, 1]. + * + * @property {number} left + * Left X coordinate. + * + * @property {number} top + * Top Y coordinate. + * + * @property {number} right + * Right X coordinate. + * + * @property {number} bottom + * Bottom Y coordinate. + * + * @typedef NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const NormalizedBoundingBox = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation results for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {Object[]} segmentLabelAnnotations + * Label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * + * @property {Object[]} shotLabelAnnotations + * Label annotations on shot level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * + * @property {Object[]} frameLabelAnnotations + * Label annotations on frame level. + * There is exactly one element for each unique label. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * + * @property {Object[]} shotAnnotations + * Shot annotations. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {Object} explicitAnnotation + * Explicit content annotation. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} + * + * @property {Object[]} textAnnotations + * OCR text detection and tracking. + * Annotations for list of detected text snippets. Each will have list of + * frame information associated with it. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1p3beta1.TextAnnotation} + * + * @property {Object[]} objectAnnotations + * Annotations for list of objects detected and tracked in video. + * + * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} + * + * @property {Object} error + * If set, indicates an error. Note that for a single `AnnotateVideoRequest` + * some videos may succeed and some may fail. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const VideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation response. Included in the `response` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationResults + * Annotation results for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} + * + * @typedef AnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const AnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotation progress for a single video. + * + * @property {string} inputUri + * Video file location in + * [Google Cloud Storage](https://cloud.google.com/storage/). + * + * @property {number} progressPercent + * Approximate percentage processed thus far. Guaranteed to be + * 100 when fully processed. + * + * @property {Object} startTime + * Time when the request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * Time of the most recent update. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef VideoAnnotationProgress + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const VideoAnnotationProgress = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation progress. Included in the `metadata` + * field of the `Operation` returned by the `GetOperation` + * call of the `google::longrunning::Operations` service. + * + * @property {Object[]} annotationProgress + * Progress metadata for all videos specified in `AnnotateVideoRequest`. + * + * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} + * + * @typedef AnnotateVideoProgress + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const AnnotateVideoProgress = { + // 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.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Normalized bounding polygon for text (that might not be aligned with axis). + * Contains list of the corner points in clockwise order starting from + * top-left corner. For example, for a rectangular bounding box: + * When the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * + * When it's clockwise 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). Note that values can be less + * than 0, or greater than 1 due to trignometric calculations for location of + * the box. + * + * @property {Object[]} vertices + * Normalized vertices of the bounding polygon. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex} + * + * @typedef NormalizedBoundingPoly + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const NormalizedBoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video segment level annotation results for text detection. + * + * @property {Object} segment + * Video segment where a text snippet was detected. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {number} confidence + * Confidence for the track of detected text. It is calculated as the highest + * over all frames where OCR detected text appears. + * + * @property {Object[]} frames + * Information related to the frames where OCR detected text appears. + * + * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p3beta1.TextFrame} + * + * @typedef TextSegment + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const TextSegment = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotation results for text annotation (OCR). + * Contains information regarding timestamp and bounding box locations for the + * frames containing detected OCR text snippets. + * + * @property {Object} rotatedBoundingBox + * Bounding polygon of the detected text for this frame. + * + * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly} + * + * @property {Object} timeOffset + * Timestamp of this frame. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef TextFrame + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const TextFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations related to one detected OCR text snippet. This will contain the + * corresponding text, confidence value, and frame level information for each + * detection. + * + * @property {string} text + * The detected text. + * + * @property {Object[]} segments + * All video segments where OCR detected text appears. + * + * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1p3beta1.TextSegment} + * + * @typedef TextAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video frame level annotations for object detection and tracking. This field + * stores per frame location, time offset, and confidence. + * + * @property {Object} normalizedBoundingBox + * The normalized bounding box location of this object track for the frame. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} + * + * @property {Object} timeOffset + * The timestamp of the frame in microseconds. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @typedef ObjectTrackingFrame + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ObjectTrackingFrame = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Annotations corresponding to one tracked object. + * + * @property {Object} entity + * Entity to specify the object category that this track is labeled as. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} + * + * @property {number} confidence + * Object category's labeling confidence of this track. + * + * @property {Object[]} frames + * Information corresponding to all frames where this object track appears. + * Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame + * messages in frames. + * Streaming mode: it can only be one ObjectTrackingFrame message in frames. + * + * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} + * + * @property {Object} segment + * Non-streaming batch mode ONLY. + * Each object track corresponds to one video segment where it appears. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {number} trackId + * Streaming mode ONLY. + * In streaming mode, we do not know the end time of a tracked object + * before it is completed. Hence, there is no VideoSegment info returned. + * Instead, we provide a unique identifiable integer track_id so that + * the customers can correlate the results of the ongoing + * ObjectTrackAnnotation of the same track_id over time. + * + * @typedef ObjectTrackingAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ObjectTrackingAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The top-level message sent by the client for the `StreamingAnnotateVideo` + * method. Multiple `StreamingAnnotateVideoRequest` messages are sent. + * The first message must only contain a `StreamingVideoConfig` message. + * All subsequent messages must only contain `input_content` data. + * + * @property {Object} videoConfig + * Provides information to the annotator, specifing how to process the + * request. The first `AnnotateStreamingVideoRequest` message must only + * contain a `video_config` message. + * + * This object should have the same structure as [StreamingVideoConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} + * + * @property {string} inputContent + * The video data to be annotated. Chunks of video data are sequentially + * sent in `StreamingAnnotateVideoRequest` messages. Except the initial + * `StreamingAnnotateVideoRequest` message containing only + * `video_config`, all subsequent `AnnotateStreamingVideoRequest` + * messages must only contain `input_content` field. + * + * @typedef StreamingAnnotateVideoRequest + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingAnnotateVideoRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * `StreamingAnnotateVideoResponse` is the only message returned to the client + * by `StreamingAnnotateVideo`. A series of zero or more + * `StreamingAnnotateVideoResponse` messages are streamed back to the client. + * + * @property {Object} error + * If set, returns a google.rpc.Status message that + * specifies the error for the operation. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} annotationResults + * Streaming annotation results. + * + * This object should have the same structure as [StreamingVideoAnnotationResults]{@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} + * + * @property {string} annotationResultsUri + * GCS URI that stores annotation results of one streaming session. + * It is a directory that can hold multiple files in JSON format. + * Example uri format: + * gs://bucket_id/object_id/cloud_project_name-session_id + * + * @typedef StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingAnnotateVideoResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for EXPLICIT_CONTENT_DETECTION in streaming mode. + * No customized config support. + * @typedef StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingExplicitContentDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for LABEL_DETECTION in streaming mode. + * + * @property {boolean} stationaryCamera + * Whether the video has been captured from a stationary (i.e. non-moving) + * camera. When set to true, might improve detection accuracy for moving + * objects. Default: false. + * + * @typedef StreamingLabelDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingLabelDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for STREAMING_OBJECT_TRACKING. + * No customized config support. + * @typedef StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingObjectTrackingConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for SHOT_CHANGE_DETECTION in streaming mode. + * No customized config support. + * @typedef StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingShotChangeDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for streaming storage option. + * + * @property {boolean} enableStorageAnnotationResult + * Enable streaming storage. Default: false. + * + * @property {string} annotationResultStorageDirectory + * GCS URI to store all annotation results for one client. Client should + * specify this field as the top-level storage directory. Annotation results + * of different sessions will be put into different sub-directories denoted + * by project_name and session_id. All sub-directories will be auto generated + * by program and will be made accessible to client in response proto. + * URIs must be specified in the following format: `gs://bucket-id/object-id` + * `bucket-id` should be a valid GCS bucket created by client and bucket + * permission shall also be configured properly. `object-id` can be arbitrary + * string that make sense to client. Other URI formats will return error and + * cause GCS write failure. + * + * @typedef StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingStorageConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Streaming annotation results corresponding to a portion of the video + * that is currently being processed. + * + * @property {Object[]} shotAnnotations + * Shot annotation results. Each shot is represented as a video segment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {Object[]} labelAnnotations + * Label annotation results. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * + * @property {Object} explicitAnnotation + * Explicit content detection results. + * + * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} + * + * @property {Object[]} objectAnnotations + * Object tracking results. + * + * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} + * + * @typedef StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingVideoAnnotationResults = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Provides information to the annotator that specifies how to process the + * request. + * + * @property {number} feature + * Requested annotation feature. + * + * The number should be among the values of [StreamingFeature]{@link google.cloud.videointelligence.v1p3beta1.StreamingFeature} + * + * @property {Object} shotChangeDetectionConfig + * Config for SHOT_CHANGE_DETECTION. + * + * This object should have the same structure as [StreamingShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} + * + * @property {Object} labelDetectionConfig + * Config for LABEL_DETECTION. + * + * This object should have the same structure as [StreamingLabelDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} + * + * @property {Object} explicitContentDetectionConfig + * Config for STREAMING_EXPLICIT_CONTENT_DETECTION. + * + * This object should have the same structure as [StreamingExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} + * + * @property {Object} objectTrackingConfig + * Config for STREAMING_OBJECT_TRACKING. + * + * This object should have the same structure as [StreamingObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} + * + * @property {Object} storageConfig + * Streaming storage option. By default: storage is disabled. + * + * This object should have the same structure as [StreamingStorageConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} + * + * @typedef StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingVideoConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Video annotation feature. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p3beta1 + */ +const Feature = { + + /** + * Unspecified. + */ + FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + EXPLICIT_CONTENT_DETECTION: 3, + + /** + * OCR text detection and tracking. + */ + TEXT_DETECTION: 7, + + /** + * Object detection and tracking. + */ + OBJECT_TRACKING: 9 +}; + +/** + * Label detection mode. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p3beta1 + */ +const LabelDetectionMode = { + + /** + * Unspecified. + */ + LABEL_DETECTION_MODE_UNSPECIFIED: 0, + + /** + * Detect shot-level labels. + */ + SHOT_MODE: 1, + + /** + * Detect frame-level labels. + */ + FRAME_MODE: 2, + + /** + * Detect both shot-level and frame-level labels. + */ + SHOT_AND_FRAME_MODE: 3 +}; + +/** + * Bucketized representation of likelihood. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p3beta1 + */ +const Likelihood = { + + /** + * Unspecified likelihood. + */ + LIKELIHOOD_UNSPECIFIED: 0, + + /** + * Very unlikely. + */ + VERY_UNLIKELY: 1, + + /** + * Unlikely. + */ + UNLIKELY: 2, + + /** + * Possible. + */ + POSSIBLE: 3, + + /** + * Likely. + */ + LIKELY: 4, + + /** + * Very likely. + */ + VERY_LIKELY: 5 +}; + +/** + * Streaming video annotation feature. + * + * @enum {number} + * @memberof google.cloud.videointelligence.v1p3beta1 + */ +const StreamingFeature = { + + /** + * Unspecified. + */ + STREAMING_FEATURE_UNSPECIFIED: 0, + + /** + * Label detection. Detect objects, such as dog or flower. + */ + STREAMING_LABEL_DETECTION: 1, + + /** + * Shot change detection. + */ + STREAMING_SHOT_CHANGE_DETECTION: 2, + + /** + * Explicit content detection. + */ + STREAMING_EXPLICIT_CONTENT_DETECTION: 3, + + /** + * Object detection and tracking. + */ + STREAMING_OBJECT_TRACKING: 4 +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..bd03cc3da0e --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..f3278b34e66 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js new file mode 100644 index 00000000000..1275f8f4d13 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js @@ -0,0 +1,97 @@ +// 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 Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + * + * @property {number} seconds + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + * + * @property {number} nanos + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + * + * @typedef Duration + * @memberof google.protobuf + * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} + */ +const Duration = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..fc4b5be93f0 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/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-videointelligence/src/v1p3beta1/index.js b/packages/google-cloud-videointelligence/src/v1p3beta1/index.js new file mode 100644 index 00000000000..21857997950 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); +const StreamingVideoIntelligenceServiceClient = require('./streaming_video_intelligence_service_client'); + +module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; +module.exports.StreamingVideoIntelligenceServiceClient = StreamingVideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js new file mode 100644 index 00000000000..bb36f74dcdf --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -0,0 +1,222 @@ +// 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('./streaming_video_intelligence_service_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); + +const VERSION = require('../../package.json').version; + +/** + * Service that implements Google Cloud Video Intelligence Streaming API. + * + * @class + * @memberof v1p3beta1 + */ +class StreamingVideoIntelligenceServiceClient { + /** + * Construct an instance of StreamingVideoIntelligenceServiceClient. + * + * @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/videointelligence/v1p3beta1/video_intelligence.proto' + ) + ); + + // Some of the methods on this service provide streaming responses. + // Provide descriptors for these. + this._descriptors.stream = { + streamingAnnotateVideo: new gax.StreamDescriptor( + gax.StreamType.BIDI_STREAMING + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', + 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.videointelligence.v1p3beta1.StreamingVideoIntelligenceService. + const streamingVideoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1p3beta1 + .StreamingVideoIntelligenceService, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const streamingVideoIntelligenceServiceStubMethods = [ + 'streamingAnnotateVideo', + ]; + for (const methodName of streamingVideoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + streamingVideoIntelligenceServiceStub.then( + stub => + function() { + const args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; + } + ), + defaults[methodName], + this._descriptors.stream[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'videointelligence.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']; + } + + /** + * 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 -- + // ------------------- + + /** + * Performs video annotation with bidirectional streaming: emitting results + * while sending video/audio bytes. + * This method is only available via the gRPC API (not REST). + * + * @param {Object} [options] + * Optional parameters. You 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 is both readable and writable. It accepts objects + * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and + * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. + * + * @example + * + * const videoIntelligence = require('@google-cloud/video-intelligence'); + * + * const client = new videoIntelligence.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * const stream = client.streamingAnnotateVideo().on('data', response => { + * // doThingsWith(response) + * }); + * const request = {}; + * // Write request objects. + * stream.write(request); + */ + streamingAnnotateVideo(options) { + options = options || {}; + + return this._innerApiCalls.streamingAnnotateVideo(options); + } +} + +module.exports = StreamingVideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json new file mode 100644 index 00000000000..7638632a36e --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService": { + "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": 10800000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 10800000, + "total_timeout_millis": 10800000 + } + }, + "methods": { + "StreamingAnnotateVideo": { + "timeout_millis": 10800000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js new file mode 100644 index 00000000000..b1890d0a94e --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -0,0 +1,342 @@ +// 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('./video_intelligence_service_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 implements Google Cloud Video Intelligence API. + * + * @class + * @memberof v1p3beta1 + */ +class VideoIntelligenceServiceClient { + /** + * Construct an instance of VideoIntelligenceServiceClient. + * + * @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/videointelligence/v1p3beta1/video_intelligence.proto' + ) + ); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/videointelligence/v1p3beta1/video_intelligence.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 annotateVideoResponse = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' + ); + const annotateVideoMetadata = protoFilesRoot.lookup( + 'google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress' + ); + + this._descriptors.longrunning = { + annotateVideo: new gax.LongrunningDescriptor( + this.operationsClient, + annotateVideoResponse.decode.bind(annotateVideoResponse), + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', + 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.videointelligence.v1p3beta1.VideoIntelligenceService. + const videoIntelligenceServiceStub = gaxGrpc.createStub( + protos.google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + videoIntelligenceServiceStub.then( + stub => + function() { + const args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'videointelligence.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']; + } + + /** + * 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 -- + // ------------------- + + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} [request.inputUri] + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {string} [request.inputContent] + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} [request.features] + * Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} + * @param {Object} [request.videoContext] + * Additional video context and/or feature-specific parameters. + * + * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} + * @param {string} [request.outputUri] + * Optional location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * @param {string} [request.locationId] + * Optional cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @param {Object} [options] + * Optional parameters. You 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 videoIntelligence = require('@google-cloud/video-intelligence'); + * + * const client = new videoIntelligence.v1p3beta1.VideoIntelligenceServiceClient({ + * // optional auth parameters. + * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the promise pattern. + * client.annotateVideo(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 inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.annotateVideo(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); + * }); + */ + annotateVideo(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.annotateVideo(request, options, callback); + } +} + +module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json new file mode 100644 index 00000000000..2023e52ad84 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 120000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 120000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "AnnotateVideo": { + "timeout_millis": 600000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 3962c6f4efd..4902f8ce09a 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-02-21T12:20:49.083829Z", + "updateTime": "2019-02-21T19:19:06.179395Z", "sources": [ { "generator": { @@ -74,6 +74,16 @@ "generator": "gapic", "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" + } } ] } \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index c82da634984..46afa7a7028 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -8,7 +8,7 @@ gapic = gcp.GAPICGenerator() common_templates = gcp.CommonTemplates() -versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1", "v1p2beta1"] +versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] for version in versions: library = gapic.node_library( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js new file mode 100644 index 00000000000..79c56511cae --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -0,0 +1,229 @@ +// 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 through2 = require('through2'); + +const videoIntelligenceModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +const error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('VideoIntelligenceServiceClient', () => { + describe('annotateVideo', function() { + it('invokes annotateVideo without error', done => { + const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { + inputUri: inputUri, + features: features, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .annotateVideo(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes annotateVideo with error', done => { + const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const inputUri = 'gs://demomaker/cat.mp4'; + const featuresElement = 'LABEL_DETECTION'; + const features = [featuresElement]; + const request = { + inputUri: inputUri, + features: features, + }; + + // Mock Grpc layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .annotateVideo(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 videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert( + client._descriptors.longrunning.annotateVideo.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof + Function + ); + }); + }); +}); +describe('StreamingVideoIntelligenceServiceClient', () => { + describe('streamingAnnotateVideo', () => { + it('invokes streamingAnnotateVideo without error', done => { + const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const request = {}; + + // Mock response + const annotationResultsUri = 'annotationResultsUri-238075757'; + const expectedResponse = { + annotationResultsUri: annotationResultsUri, + }; + + // Mock Grpc layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( + request, + expectedResponse + ); + + const stream = client + .streamingAnnotateVideo() + .on('data', response => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', err => { + done(err); + }); + + stream.write(request); + }); + + it('invokes streamingAnnotateVideo with error', done => { + const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + + // Mock request + const request = {}; + + // Mock Grpc layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( + request, + null, + error + ); + + const stream = client + .streamingAnnotateVideo() + .on('data', () => { + assert.fail(); + }) + .on('error', err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + + stream.write(request); + }); + }); +}); + +function mockBidiStreamingGrpcMethod(expectedRequest, response, error) { + return () => { + const mockStream = through2.obj((chunk, enc, callback) => { + assert.deepStrictEqual(chunk, expectedRequest); + if (error) { + callback(error); + } else { + callback(null, response); + } + }); + return mockStream; + }; +} + +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 c9975757b575d2291dc6f6109d3aa9d6c60df24e Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 21 Feb 2019 14:05:20 -0800 Subject: [PATCH 150/418] Release v1.6.0 (#199) --- .../CHANGELOG.md | 25 +++++++++++++++++++ .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 2e4984e8959..a3b8cd35b7e 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,31 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## v1.6.0 + +02-21-2019 13:46 PST + +### Implementation Changes +- fix: throw on invalid credentials + +### New Features +- feat: generate v1p3beta1 with streaming support ([#198](https://github.com/googleapis/nodejs-video-intelligence/pull/198)) +- feat: add text detection and object mapping support ([#197](https://github.com/googleapis/nodejs-video-intelligence/pull/197)) + +### Dependencies +- chore(deps): update dependency mocha to v6 +- fix(deps): update dependency yargs to v13 ([#192](https://github.com/googleapis/nodejs-video-intelligence/pull/192)) + +### Documentation +- docs: update links in contrib guide ([#195](https://github.com/googleapis/nodejs-video-intelligence/pull/195)) +- build: create docs test npm scripts ([#191](https://github.com/googleapis/nodejs-video-intelligence/pull/191)) +- docs: update contributing path in README ([#189](https://github.com/googleapis/nodejs-video-intelligence/pull/189)) + +### Internal / Testing Changes +- build: use linkinator for docs test ([#194](https://github.com/googleapis/nodejs-video-intelligence/pull/194)) +- build: test using @grpc/grpc-js in CI ([#190](https://github.com/googleapis/nodejs-video-intelligence/pull/190)) +- chore: move CONTRIBUTING.md to root ([#188](https://github.com/googleapis/nodejs-video-intelligence/pull/188)) + ## v1.5.1 02-05-2019 15:05 PST diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b13e765e15b..629a8ab6aee 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.5.1", + "version": "1.6.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f99ac1b7457..f43d8b84228 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=600000" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.5.1", + "@google-cloud/video-intelligence": "^1.6.0", "yargs": "^13.0.0" }, "devDependencies": { From 64543f61e88c3e4d78031682dee180245068b819 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 26 Feb 2019 05:40:26 -0800 Subject: [PATCH 151/418] chore: sync latest proto docs --- .../src/v1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../src/v1beta1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../src/v1beta2/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 ++++++++++--------- .../synth.metadata | 6 ++-- 7 files changed, 105 insertions(+), 87 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 4902f8ce09a..556a1db4457 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-02-21T19:19:06.179395Z", + "updateTime": "2019-02-26T12:42:13.462306Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "9cf63704bd272a40b79dde5a2b33f61104ee4f7f", - "internalRef": "234935970" + "sha": "29f098cb03a9983cc9cb15993de5da64419046f2", + "internalRef": "235621085" } }, { From a2d8751e5f1990f2717ac32bb1fa3762a985b961 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 1 Mar 2019 08:50:02 -0800 Subject: [PATCH 152/418] docs: update comments on protos (#203) --- .../v1/video_intelligence.proto | 21 +++++++++++-------- .../v1beta1/video_intelligence.proto | 20 +++++++++++------- .../v1beta2/video_intelligence.proto | 21 +++++++++++-------- .../v1p1beta1/video_intelligence.proto | 16 +++++++------- .../v1p2beta1/video_intelligence.proto | 16 +++++++------- .../v1p3beta1/video_intelligence.proto | 20 +++++++++--------- .../v1/doc_video_intelligence.js | 12 +++++------ .../v1/video_intelligence_service_client.js | 12 +++++------ .../v1beta1/doc_video_intelligence.js | 12 +++++------ .../video_intelligence_service_client.js | 12 +++++------ .../v1beta2/doc_video_intelligence.js | 12 +++++------ .../video_intelligence_service_client.js | 12 +++++------ .../v1p1beta1/doc_video_intelligence.js | 12 +++++------ .../video_intelligence_service_client.js | 12 +++++------ .../v1p2beta1/doc_video_intelligence.js | 12 +++++------ .../video_intelligence_service_client.js | 12 +++++------ .../v1p3beta1/doc_video_intelligence.js | 12 +++++------ .../video_intelligence_service_client.js | 12 +++++------ .../synth.metadata | 8 +++---- 19 files changed, 138 insertions(+), 128 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 04875086510..09b51f5d0b5 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -30,15 +30,18 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1"; - // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/videos:annotate" body: "*" }; + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/videos:annotate" + body: "*" + }; } } @@ -48,10 +51,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -71,8 +74,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto index 9ec2a5e9f57..86b5b800c0a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto @@ -34,8 +34,12 @@ service VideoIntelligenceService { // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1beta1/videos:annotate" body: "*" }; + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/videos:annotate" + body: "*" + }; } } @@ -45,10 +49,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -67,8 +71,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index 6099e97d545..b8666478404 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -29,15 +29,18 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1beta2"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta2"; - // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1beta2/videos:annotate" body: "*" }; + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta2/videos:annotate" + body: "*" + }; } } @@ -47,10 +50,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -70,8 +73,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 24bdb8eeb87..626cc35b89a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -29,14 +29,14 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p1beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p1beta1"; - // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p1beta1/videos:annotate" body: "*" @@ -50,10 +50,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -73,8 +73,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index ce540c90c08..b1318167e75 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -30,14 +30,14 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p2beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p2beta1"; - // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p2beta1/videos:annotate" body: "*" @@ -51,10 +51,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -74,8 +74,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index fa5b7515d56..dc65a651e78 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -30,14 +30,14 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p3beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; - // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p3beta1/videos:annotate" body: "*" @@ -51,7 +51,7 @@ service StreamingVideoIntelligenceService { // while sending video/audio bytes. // This method is only available via the gRPC API (not REST). rpc StreamingAnnotateVideo(stream StreamingAnnotateVideoRequest) - returns (stream StreamingAnnotateVideoResponse); + returns (stream StreamingAnnotateVideoResponse); } // Video annotation request. @@ -60,10 +60,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). A video + // URI may include wildcards in `object-id`, and thus identify multiple + // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -83,8 +83,8 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request URIs](/storage/docs/reference-uris). string output_uri = 4; // Optional cloud region where annotation should take place. Supported cloud @@ -545,7 +545,7 @@ message StreamingVideoConfig { // Config for STREAMING_EXPLICIT_CONTENT_DETECTION. StreamingExplicitContentDetectionConfig explicit_content_detection_config = - 4; + 4; // Config for STREAMING_OBJECT_TRACKING. StreamingObjectTrackingConfig object_tracking_config = 5; diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 128738b27ac..fb77061d9ab 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -50,8 +50,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 5325c8d1640..aa5c5529759 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] @@ -244,8 +244,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js index 7234713ac32..470f2092a4b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -49,8 +49,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 780e8ac6e3f..9a23bfebbd3 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {number[]} request.features @@ -243,8 +243,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 738dd95318b..8cbdea3b1ba 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -50,8 +50,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index aec2fc7e783..11219e172c1 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] @@ -244,8 +244,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index f75f80b4719..7aece7ffb06 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -50,8 +50,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index ffb6346f4de..32ff81592a7 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] @@ -244,8 +244,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index 41874106f0d..a80b63471e0 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -50,8 +50,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index c7ab4324f8b..ba1870e8989 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] @@ -244,8 +244,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 6362370ed2f..48ee5eb0732 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -50,8 +50,8 @@ * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId * Optional cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index b1890d0a94e..3e8e06a530a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -221,10 +221,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {string} [request.inputContent] @@ -244,8 +244,8 @@ class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] * Optional cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 556a1db4457..a26cd4b7498 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-02-26T12:42:13.462306Z", + "updateTime": "2019-03-01T12:24:05.273859Z", "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 d7100bbc3eed9b53933734b016fa35665576d451 Mon Sep 17 00:00:00 2001 From: Nirupa Anantha Kumar Date: Fri, 1 Mar 2019 10:20:53 -0800 Subject: [PATCH 153/418] docs(samples): Object tracking and Text detection GA samples (#202) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f43d8b84228..9563fa35dff 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -12,7 +12,7 @@ "node": ">=8" }, "scripts": { - "test": "mocha system-test --timeout=600000" + "test": "mocha system-test --timeout=800000" }, "dependencies": { "@google-cloud/video-intelligence": "^1.6.0", From f2966f55b505390fcaf9fdbef011ef19a032790a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 5 Mar 2019 16:35:26 -0800 Subject: [PATCH 154/418] build: update release configuration --- packages/google-cloud-videointelligence/synth.metadata | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index a26cd4b7498..b7bf26461ae 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-03-01T12:24:05.273859Z", + "updateTime": "2019-03-05T12:29:16.763135Z", "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 5f030bec468fd4e0964e4526e5594c6c61e2372b Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 7 Mar 2019 18:06:26 -0800 Subject: [PATCH 155/418] build: Add docuploader credentials to node publish jobs (#206) --- .../synth.metadata | 78 +------------------ 1 file changed, 4 insertions(+), 74 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index b7bf26461ae..20e0c3fcc11 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,88 +1,18 @@ { - "updateTime": "2019-03-05T12:29:16.763135Z", + "updateTime": "2019-03-08T00:45:48.388763Z", "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": "video-intelligence", - "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1beta2", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" + "sha": "c986e1d9618ac41343962b353d136201d72626ae" } } ] From e28ddc70e392052d05665264beb2650fa4367aa5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 12 Mar 2019 11:09:36 -0700 Subject: [PATCH 156/418] docs: update jsdoc samples and json import paths (#208) --- .../v1/video_intelligence_service_client.js | 15 +++- .../video_intelligence_service_client.js | 15 +++- .../video_intelligence_service_client.js | 15 +++- .../video_intelligence_service_client.js | 15 +++- .../video_intelligence_service_client.js | 15 +++- ...aming_video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 15 +++- .../synth.metadata | 78 ++++++++++++++++++- 8 files changed, 159 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index aa5c5529759..f9d6e1b553a 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -327,6 +327,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 9a23bfebbd3..3b76c1da53b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -326,6 +326,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 11219e172c1..595b731cce0 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -327,6 +327,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 32ff81592a7..6242eb543c7 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -327,6 +327,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index ba1870e8989..7aff71e412d 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -327,6 +327,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index bb36f74dcdf..c44125dc1a6 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./streaming_video_intelligence_service_client_config'); +const gapicConfig = require('./streaming_video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 3e8e06a530a..c875b1b5a92 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./video_intelligence_service_client_config'); +const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -327,6 +327,19 @@ class VideoIntelligenceServiceClient { * .catch(err => { * console.error(err); * }); + * + * const inputUri = 'gs://demomaker/cat.mp4'; + * const featuresElement = 'LABEL_DETECTION'; + * const features = [featuresElement]; + * const request = { + * inputUri: inputUri, + * features: features, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.annotateVideo(request); + * + * const [response] = await operation.promise(); */ annotateVideo(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 20e0c3fcc11..bb852d435b1 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,18 +1,88 @@ { - "updateTime": "2019-03-08T00:45:48.388763Z", + "updateTime": "2019-03-12T11:28:34.677989Z", "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": "video-intelligence", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1beta2", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" } } ] From d98327d5bd6a0448fbad62a252e41f18fa9645ad Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Wed, 13 Mar 2019 11:08:53 -0700 Subject: [PATCH 157/418] docs: use backticks for JS values (#209) --- .../src/v1/doc/google/longrunning/doc_operations.js | 2 +- .../v1beta1/doc/google/longrunning/doc_operations.js | 2 +- .../v1beta2/doc/google/longrunning/doc_operations.js | 2 +- .../v1p1beta1/doc/google/longrunning/doc_operations.js | 2 +- .../v1p2beta1/doc/google/longrunning/doc_operations.js | 2 +- .../v1p3beta1/doc/google/longrunning/doc_operations.js | 2 +- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index bb852d435b1..b686c279906 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-03-12T11:28:34.677989Z", + "updateTime": "2019-03-13T11:25:12.518045Z", "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 dff549accfc5edb9f957a94993b3f2b08b1667f5 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 4 Apr 2019 14:06:40 -0700 Subject: [PATCH 158/418] refactor: use execSync for tests (#217) --- packages/google-cloud-videointelligence/samples/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 9563fa35dff..a5926527fed 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -20,7 +20,6 @@ }, "devDependencies": { "chai": "^4.2.0", - "execa": "^1.0.0", "mocha": "^6.0.0" } } From d50b4bb553240e246d1db960861920d9c87c6342 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 16 Apr 2019 06:58:09 -0700 Subject: [PATCH 159/418] chore(deps): update dependency nyc to v14 chore(deps): update dependency nyc to v14 This PR contains the following updates: | Package | Type | Update | Change | References | |---|---|---|---|---| | nyc | devDependencies | major | [`^13.0.0` -> `^14.0.0`](https://diff.intrinsic.com/nyc/13.3.0/14.0.0) | [source](https://togithub.com/istanbuljs/nyc) | --- ### Release Notes
istanbuljs/nyc ### [`v14.0.0`](https://togithub.com/istanbuljs/nyc/blob/master/CHANGELOG.md#​1400httpsgithubcomistanbuljsnyccomparev1330v1400-2019-04-15) [Compare Source](https://togithub.com/istanbuljs/nyc/compare/v13.3.0...v14.0.0) ##### Bug Fixes - Add `cwd` option to instrument command ([#​1024](https://togithub.com/istanbuljs/nyc/issues/1024)) ([051d95a](https://togithub.com/istanbuljs/nyc/commit/051d95a)) - Add config values to hash salt ([#​988](https://togithub.com/istanbuljs/nyc/issues/988)) ([7ac325d](https://togithub.com/istanbuljs/nyc/commit/7ac325d)), closes [#​522](https://togithub.com/istanbuljs/nyc/issues/522) - Exclude negated not working with '--all' switch ([#​977](https://togithub.com/istanbuljs/nyc/issues/977)) ([91de23c](https://togithub.com/istanbuljs/nyc/commit/91de23c)) - Make --all work for transpiled code ([#​1047](https://togithub.com/istanbuljs/nyc/issues/1047)) ([18e04ba](https://togithub.com/istanbuljs/nyc/commit/18e04ba)) - Resolve absolute paths in nyc instrument ([#​1012](https://togithub.com/istanbuljs/nyc/issues/1012)) ([3cb1861](https://togithub.com/istanbuljs/nyc/commit/3cb1861)), closes [#​1014](https://togithub.com/istanbuljs/nyc/issues/1014) - Set processinfo pid/ppid to actual numbers ([#​1057](https://togithub.com/istanbuljs/nyc/issues/1057)) ([32f75b0](https://togithub.com/istanbuljs/nyc/commit/32f75b0)) - Use a single instance of nyc for all actions of main command. ([#​1059](https://togithub.com/istanbuljs/nyc/issues/1059)) ([b909575](https://togithub.com/istanbuljs/nyc/commit/b909575)) ##### Features - Add `delete` option to instrument command ([#​1005](https://togithub.com/istanbuljs/nyc/issues/1005)) ([d6db551](https://togithub.com/istanbuljs/nyc/commit/d6db551)) - Add `include` and `exclude` options to instrument command ([#​1007](https://togithub.com/istanbuljs/nyc/issues/1007)) ([8da097e](https://togithub.com/istanbuljs/nyc/commit/8da097e)) - Add processinfo index, add externalId ([#​1055](https://togithub.com/istanbuljs/nyc/issues/1055)) ([8dcf180](https://togithub.com/istanbuljs/nyc/commit/8dcf180)) - Add support for nyc.config.js ([#​1019](https://togithub.com/istanbuljs/nyc/issues/1019)) ([3b203c7](https://togithub.com/istanbuljs/nyc/commit/3b203c7)) - Add support to exclude files on coverage report generation ([#​982](https://togithub.com/istanbuljs/nyc/issues/982)) ([509c6aa](https://togithub.com/istanbuljs/nyc/commit/509c6aa)) - Add test-exclude args to check-coverage and report subcommands. ([0fc217e](https://togithub.com/istanbuljs/nyc/commit/0fc217e)) - Always build the processinfo temp dir ([#​1061](https://togithub.com/istanbuljs/nyc/issues/1061)) ([c213469](https://togithub.com/istanbuljs/nyc/commit/c213469)) - Enable `es-modules` option for nyc instrument command ([#​1006](https://togithub.com/istanbuljs/nyc/issues/1006)) ([596b120](https://togithub.com/istanbuljs/nyc/commit/596b120)) - Fix excludeAfterRemap functionality. ([36bcc0b](https://togithub.com/istanbuljs/nyc/commit/36bcc0b)) - Implement `nyc instrument --complete-copy` ([#​1056](https://togithub.com/istanbuljs/nyc/issues/1056)) ([2eb13c6](https://togithub.com/istanbuljs/nyc/commit/2eb13c6)) - Remove bundling ([#​1017](https://togithub.com/istanbuljs/nyc/issues/1017)) ([b25492a](https://togithub.com/istanbuljs/nyc/commit/b25492a)) - Support turning off node_modules default exclude via `exclude-node-modules` option ([#​912](https://togithub.com/istanbuljs/nyc/issues/912)) ([b7e16cd](https://togithub.com/istanbuljs/nyc/commit/b7e16cd)) - Add support for `--exclude-node-modules` to subcommands. ([#​1053](https://togithub.com/istanbuljs/nyc/issues/1053)) ([e597c46](https://togithub.com/istanbuljs/nyc/commit/e597c46)) ##### BREAKING CHANGES - The `--exclude-after-remap` option is now functional and enabled by default. This causes the `include` and `exclude` lists to be processed after using source maps to determine the original filename of sources. - Add a file named 'index.json' to the .nyc_output/processinfo directory, which has a different format from the other files in this dir. - Change the data type of the pid/ppid fields in processinfo files - `nyc instrument` now honors `include` and `exclude` settings, potentially resulting in some files that were previously instrumented being ignored. - The `plugins` option has been renamed to `parser-plugins`. - The logic involving include/exclude processing has changed. Results should be verified to ensure all desired sources have coverage data. - `nyc instrument` now enables the `--es-module` option by default. This can cause failures to instrument scripts which violate `'use strict'` rules.
--- ### 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 stale, or if you modify the PR title to begin with "`rebase!`". :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 [Renovate Bot](https://togithub.com/marketplace/renovate). View repository job log [here](https://renovatebot.com/dashboard#googleapis/nodejs-video-intelligence). #219 automerged by dpebot --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 629a8ab6aee..b0fb18de43e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -58,7 +58,7 @@ "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "linkinator": "^1.1.2", "mocha": "^6.0.0", - "nyc": "^13.0.0", + "nyc": "^14.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.5", "through2": "^3.0.0" From adac1135e5934e08dcb7b9ac7d2fca383336c5f8 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:14 -0700 Subject: [PATCH 160/418] docs: update jsdoc comment formatting (#220) --- .../src/v1/doc/google/protobuf/doc_any.js | 3 ++- .../src/v1beta1/doc/google/protobuf/doc_any.js | 3 ++- .../src/v1beta2/doc/google/protobuf/doc_any.js | 3 ++- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 3 ++- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 3 ++- .../src/v1p3beta1/doc/google/protobuf/doc_any.js | 3 ++- .../google-cloud-videointelligence/synth.metadata | 12 ++++++------ 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index b686c279906..03172da3d4e 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-03-13T11:25:12.518045Z", + "updateTime": "2019-04-21T11:55:22.842938Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.17", - "dockerImage": "googleapis/artman@sha256:7231f27272231a884e09edb5953148c85ecd8467780d33c4a35c3e507885715b" + "version": "0.16.26", + "dockerImage": "googleapis/artman@sha256:314eae2a40f6f7822db77365cf5f45bd513d628ae17773fd0473f460e7c2a665" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e340f4a01ec287f7bb86e2331b5e98c473d10afd", - "internalRef": "238151361" + "sha": "3369c803f56d52662ea3792076deb8545183bdb0", + "internalRef": "244282812" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.2.26" + "version": "2019.4.10" } } ], From 60dd6327c6892d3c20f16ffbc64b1dac09864ffa Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 29 Apr 2019 15:05:42 -0700 Subject: [PATCH 161/418] update to .nycrc with --all enabled (#221) --- .../google-cloud-videointelligence/.nycrc | 40 ++++++++----------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index 88b001cb587..bfe4073a6ab 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.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 6ac0b1c2992e250506eb1c4a22433aef3212213f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 2 May 2019 09:17:16 -0700 Subject: [PATCH 162/418] fix(deps): update dependency google-gax to ^0.26.0 (#222) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b0fb18de43e..d97d5087ebe 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -42,7 +42,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "google-gax": "^0.25.0", + "google-gax": "^0.26.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 7597df0667f9cd8da584074bf89da7166db002e1 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Thu, 2 May 2019 11:32:14 -0700 Subject: [PATCH 163/418] build!: upgrade engines field to >=8.10.0 (#223) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index d97d5087ebe..d608302bfbd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/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-video-intelligence", "main": "src/index.js", From 92ee4f2bcba7b39b1eb0e8f0e025742b7786ec71 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 3 May 2019 08:22:13 -0700 Subject: [PATCH 164/418] chore(deps): update dependency eslint-plugin-node to v9 (#226) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index d608302bfbd..a99a8641410 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -51,7 +51,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.0", "eslint-config-prettier": "^4.0.0", - "eslint-plugin-node": "^8.0.0", + "eslint-plugin-node": "^9.0.0", "eslint-plugin-prettier": "^3.0.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", From 6666eacc849cfd208ee4a045e5b8d88078e9ad51 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 8 May 2019 15:00:08 -0700 Subject: [PATCH 165/418] fix: DEADLINE_EXCEEDED no longer treated as idempotent and retried (#228) --- .../src/v1/video_intelligence_service_client.js | 6 +++--- .../v1/video_intelligence_service_client_config.json | 1 - .../video_intelligence_service_client_config.json | 1 - .../video_intelligence_service_client_config.json | 1 - .../video_intelligence_service_client_config.json | 1 - .../video_intelligence_service_client_config.json | 1 - ...aming_video_intelligence_service_client_config.json | 1 - .../video_intelligence_service_client_config.json | 1 - packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- .../video_intelligence_service_smoke_test.js | 4 ++-- .../google-cloud-videointelligence/test/gapic-v1.js | 4 ++-- 11 files changed, 12 insertions(+), 19 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index f9d6e1b553a..1ac40d3424a 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -269,7 +269,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://videodemomaker/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -294,7 +294,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://videodemomaker/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -328,7 +328,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://videodemomaker/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json index ce79585551c..f3712e3a7cd 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json index 996b2ab5e30..c26f267e64e 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json index b52c46ea68c..afc5cf5da9a 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1beta2.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json index e701c4af9d9..19805955ef8 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json index 01c3c0a8933..f2a663d3f9e 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json index 7638632a36e..41712126455 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json index 2023e52ad84..70804a423bd 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json @@ -3,7 +3,6 @@ "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 03172da3d4e..7e0b88ee04b 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-04-21T11:55:22.842938Z", + "updateTime": "2019-05-08T21:05:27.099718Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.26", - "dockerImage": "googleapis/artman@sha256:314eae2a40f6f7822db77365cf5f45bd513d628ae17773fd0473f460e7c2a665" + "version": "0.19.0", + "dockerImage": "googleapis/artman@sha256:d3df563538225ac6caac45d8ad86499500211d1bcb2536955a6dbda15e1b368e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "3369c803f56d52662ea3792076deb8545183bdb0", - "internalRef": "244282812" + "sha": "2f6e293d9a0097167ed5160fd366403c21b5fa49", + "internalRef": "247230302" } }, { diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index b8fd646bd53..71e8addaa80 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -24,7 +24,7 @@ describe('VideoIntelligenceServiceSmokeTest', () => { } ); - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://videodemomaker/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -71,7 +71,7 @@ describe('VideoIntelligenceServiceSmokeTest', () => { } ); - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://videodemomaker/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index ce04eadcc37..b509ba9b211 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -33,7 +33,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://videodemomaker/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -74,7 +74,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://videodemomaker/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { From 450b43444ee579d97b660320627f0cf7e0fc3b60 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 9 May 2019 10:50:33 -0700 Subject: [PATCH 166/418] build: only pipe Node 10 build results to codecov --- packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 7e0b88ee04b..2e4e77855df 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-08T21:05:27.099718Z", + "updateTime": "2019-05-09T11:25:45.168969Z", "sources": [ { "generator": { @@ -20,7 +20,7 @@ "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.4.10" + "version": "2019.5.2" } } ], From 2e2dc6d33f368ba869762e4907d36e3100f0d431 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 10 May 2019 15:48:01 -0700 Subject: [PATCH 167/418] fix(deps): update dependency google-gax to v1 (#233) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a99a8641410..18fa5a8335e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -42,7 +42,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "google-gax": "^0.26.0", + "google-gax": "^1.0.0", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, From 681fa9aba2f524800f496512cb47ff212950afd4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 10 May 2019 16:01:51 -0700 Subject: [PATCH 168/418] fix: DEADLINE_EXCEEDED retry code is idempotent (#234) --- .../src/v1/video_intelligence_service_client.js | 6 +++--- .../src/v1/video_intelligence_service_client_config.json | 1 + .../v1beta1/video_intelligence_service_client_config.json | 1 + .../v1beta2/video_intelligence_service_client_config.json | 1 + .../v1p1beta1/video_intelligence_service_client_config.json | 1 + .../v1p2beta1/video_intelligence_service_client_config.json | 1 + .../streaming_video_intelligence_service_client_config.json | 1 + .../v1p3beta1/video_intelligence_service_client_config.json | 1 + packages/google-cloud-videointelligence/synth.metadata | 6 +++--- packages/google-cloud-videointelligence/test/gapic-v1.js | 4 ++-- 10 files changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 1ac40d3424a..357b92ef2e6 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -269,7 +269,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://videodemomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -294,7 +294,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://videodemomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -328,7 +328,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://videodemomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json index f3712e3a7cd..ce79585551c 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json index c26f267e64e..996b2ab5e30 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json index afc5cf5da9a..b52c46ea68c 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1beta2.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json index 19805955ef8..e701c4af9d9 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json index f2a663d3f9e..01c3c0a8933 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json index 41712126455..7638632a36e 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json index 70804a423bd..2023e52ad84 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json @@ -3,6 +3,7 @@ "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 2e4e77855df..584c483977e 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-09T11:25:45.168969Z", + "updateTime": "2019-05-10T12:18:43.741935Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "2f6e293d9a0097167ed5160fd366403c21b5fa49", - "internalRef": "247230302" + "sha": "07883be5bf3c3233095e99d8e92b8094f5d7084a", + "internalRef": "247530843" } }, { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index b509ba9b211..45c4e5225a0 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -33,7 +33,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://videodemomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -74,7 +74,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://videodemomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { From ed2a4f7c88185414569ec740021c7b2d3d598eb7 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 13 May 2019 15:54:26 -0700 Subject: [PATCH 169/418] chore: release 2.0.0 (#235) --- .../CHANGELOG.md | 21 ++++++++++++++++++- .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index a3b8cd35b7e..22329923529 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,26 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v1.6.0...v2.0.0) (2019-05-13) + + +### Bug Fixes + +* DEADLINE_EXCEEDED retry code is idempotent ([#234](https://www.github.com/googleapis/nodejs-video-intelligence/issues/234)) ([7a98ca6](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7a98ca6)) +* **deps:** update dependency google-gax to v1 ([#233](https://www.github.com/googleapis/nodejs-video-intelligence/issues/233)) ([0ad08b2](https://www.github.com/googleapis/nodejs-video-intelligence/commit/0ad08b2)) +* DEADLINE_EXCEEDED no longer treated as idempotent and retried ([#228](https://www.github.com/googleapis/nodejs-video-intelligence/issues/228)) ([c25517e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c25517e)) +* **deps:** update dependency google-gax to ^0.26.0 ([#222](https://www.github.com/googleapis/nodejs-video-intelligence/issues/222)) ([22de82b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/22de82b)) + + +### Build System + +* upgrade engines field to >=8.10.0 ([#223](https://www.github.com/googleapis/nodejs-video-intelligence/issues/223)) ([966eef9](https://www.github.com/googleapis/nodejs-video-intelligence/commit/966eef9)) + + +### BREAKING CHANGES + +* upgrade engines field to >=8.10.0 (#223) + ## v1.6.0 02-21-2019 13:46 PST @@ -93,4 +113,3 @@ - Update CI config ([#95](https://github.com/googleapis/nodejs-video-intelligence/pull/95)) - Retry npm install in CI ([#93](https://github.com/googleapis/nodejs-video-intelligence/pull/93)) - add templates to synth.py ([#91](https://github.com/googleapis/nodejs-video-intelligence/pull/91)) - diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 18fa5a8335e..ccb544f6e54 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "1.6.0", + "version": "2.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a5926527fed..fe7836ebb52 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^1.6.0", + "@google-cloud/video-intelligence": "^2.0.0", "yargs": "^13.0.0" }, "devDependencies": { From 1c8ded75003f86842c55429fe506eaf3c2184588 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 14 May 2019 21:30:57 +0000 Subject: [PATCH 170/418] fix: update min dependencies and use repo-tools to generate README (#236) --- .../.repo-metadata.json | 13 ++ .../google-cloud-videointelligence/README.md | 173 +++++++++--------- .../package.json | 28 ++- .../samples/README.md | 83 +++------ .../synth.metadata | 6 +- .../google-cloud-videointelligence/synth.py | 10 - 6 files changed, 138 insertions(+), 175 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.repo-metadata.json diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json new file mode 100644 index 00000000000..293cf27602e --- /dev/null +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -0,0 +1,13 @@ +{ + "name": "video", + "name_pretty": "Google Cloud Video Intelligence API", + "product_documentation": "https://cloud.google.com/video-intelligence", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/", + "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", + "release_level": "ga", + "language": "nodejs", + "repo": "googleapis/nodejs-video-intelligence", + "distribution_name": "@google-cloud/video-intelligence", + "api_id": "videointelligence.googleapis.com", + "requires_billing": true +} diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 606aa6f2503..cb9cdf8a389 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -1,19 +1,22 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo # [Google Cloud Video Intelligence API: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) -[![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-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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) -> Node.js idiomatic client for [Video Intelligence API][product-docs]. -The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. -* [Video Intelligence API Node.js Client API Reference][client-docs] +Google Cloud Video Intelligence API client for Node.js + + +* [Google Cloud Video Intelligence API Node.js Client API Reference][client-docs] +* [Google Cloud Video Intelligence API Documentation][product-docs] * [github.com/googleapis/nodejs-video-intelligence](https://github.com/googleapis/nodejs-video-intelligence) -* [Video Intelligence 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]. @@ -22,6 +25,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. **Table of contents:** + * [Quickstart](#quickstart) * [Before you begin](#before-you-begin) * [Installing the client library](#installing-the-client-library) @@ -35,96 +39,82 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. ### 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 Video Intelligence API API. - - [Enable the API][enable_api] - +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Google Cloud Video Intelligence 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=videointelligence.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started - ### Installing the client library - npm install --save @google-cloud/video-intelligence +```bash +npm install @google-cloud/video-intelligence +``` + ### Using the client library ```javascript -// Imports the Google Cloud Video Intelligence library -const videoIntelligence = require('@google-cloud/video-intelligence'); - -// Creates a client -const client = new videoIntelligence.VideoIntelligenceServiceClient(); - -// The GCS uri of the video to analyze -const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; - -// Construct request -const request = { - inputUri: gcsUri, - features: ['LABEL_DETECTION'], -}; - -// Execute request -client - .annotateVideo(request) - .then(results => { - const operation = results[0]; - console.log( - 'Waiting for operation to complete... (this may take a few minutes)' - ); - return operation.promise(); - }) - .then(results => { - // Gets annotations for video - const annotations = results[0].annotationResults[0]; - - // Gets labels for video from its annotations - const labels = annotations.segmentLabelAnnotations; - labels.forEach(label => { - console.log(`Label ${label.entity.description} occurs at:`); - label.segments.forEach(segment => { - segment = segment.segment; - if (segment.startTimeOffset.seconds === undefined) { - segment.startTimeOffset.seconds = 0; - } - if (segment.startTimeOffset.nanos === undefined) { - segment.startTimeOffset.nanos = 0; - } - if (segment.endTimeOffset.seconds === undefined) { - segment.endTimeOffset.seconds = 0; - } - if (segment.endTimeOffset.nanos === undefined) { - segment.endTimeOffset.nanos = 0; - } - console.log( - `\tStart: ${segment.startTimeOffset.seconds}` + - `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - console.log( - `\tEnd: ${segment.endTimeOffset.seconds}.` + - `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - }); + // Imports the Google Cloud Video Intelligence library + const videoIntelligence = require('@google-cloud/video-intelligence'); + + // Creates a client + const client = new videoIntelligence.VideoIntelligenceServiceClient(); + + // The GCS uri of the video to analyze + const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; + + // Construct request + const request = { + inputUri: gcsUri, + features: ['LABEL_DETECTION'], + }; + + // Execute request + const [operation] = await client.annotateVideo(request); + + console.log( + 'Waiting for operation to complete... (this may take a few minutes)' + ); + + const [operationResult] = await operation.promise(); + + // Gets annotations for video + const annotations = operationResult.annotationResults[0]; + + // Gets labels for video from its annotations + const labels = annotations.segmentLabelAnnotations; + labels.forEach(label => { + console.log(`Label ${label.entity.description} occurs at:`); + label.segments.forEach(segment => { + segment = segment.segment; + if (segment.startTimeOffset.seconds === undefined) { + segment.startTimeOffset.seconds = 0; + } + if (segment.startTimeOffset.nanos === undefined) { + segment.startTimeOffset.nanos = 0; + } + if (segment.endTimeOffset.seconds === undefined) { + segment.endTimeOffset.seconds = 0; + } + if (segment.endTimeOffset.nanos === undefined) { + segment.endTimeOffset.nanos = 0; + } + console.log( + `\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + console.log( + `\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` + ); }); - }) - .catch(err => { - console.error('ERROR:', err); }); + ``` + + ## Samples Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/tree/master/samples) directory. The samples' `README.md` @@ -132,21 +122,29 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Video Intelligence | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | +| Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | + -The [Video Intelligence API Node.js Client API Reference][client-docs] documentation + +The [Google Cloud Video Intelligence 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 **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. + + + + More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages @@ -163,5 +161,8 @@ See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/maste [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ [product-docs]: https://cloud.google.com/video-intelligence -[shell_img]: //gstatic.com/cloudssh/images/open-btn.png - +[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=videointelligence.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ccb544f6e54..a9dd7d1b69c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -31,7 +31,6 @@ "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 --timeout 600000", @@ -44,23 +43,22 @@ "dependencies": { "google-gax": "^1.0.0", "lodash.merge": "^4.6.1", - "protobufjs": "^6.8.6" + "protobufjs": "^6.8.8" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^3.0.0", - "codecov": "^3.0.2", - "eslint": "^5.0.0", - "eslint-config-prettier": "^4.0.0", - "eslint-plugin-node": "^9.0.0", - "eslint-plugin-prettier": "^3.0.0", + "codecov": "^3.4.0", + "eslint": "^5.16.0", + "eslint-config-prettier": "^4.2.0", + "eslint-plugin-node": "^9.0.1", + "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", - "jsdoc": "^3.5.5", + "jsdoc": "^3.6.2", "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", - "linkinator": "^1.1.2", - "mocha": "^6.0.0", - "nyc": "^14.0.0", - "power-assert": "^1.6.0", - "prettier": "^1.13.5", - "through2": "^3.0.0" + "linkinator": "^1.4.2", + "mocha": "^6.1.4", + "nyc": "^14.1.1", + "power-assert": "^1.6.1", + "prettier": "^1.17.1", + "through2": "^3.0.1" } } diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index a7a4fd853ab..598fc675d0f 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -1,101 +1,62 @@ [//]: # "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 Video Intelligence API: Node.js Samples +# [Google Cloud Video Intelligence API: Node.js Samples](https://github.com/googleapis/nodejs-video-intelligence) [![Open in Cloud Shell][shell_img]][shell_link] -The [Cloud Video Intelligence API](https://cloud.google.com/video-intelligence) allows developers to use Google video analysis technology as part of their applications. + ## Table of Contents * [Before you begin](#before-you-begin) * [Samples](#samples) - * [Video Intelligence](#video-intelligence) - * [Video Intelligence Beta](#video-intelligence-beta) + * [Analyze](#analyze) + * [Quickstart](#quickstart) ## 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-video-intelligence#using-the-client-library). ## Samples -### Video Intelligence -View the [source code][video_0_code]. + +### Analyze + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) -__Usage:__ `node analyze.js --help` +__Usage:__ + + +`node analyze.js` -``` -analyze.js -Commands: - analyze.js shots Analyzes shot angles in a video stored in Google Cloud Storage using the Cloud - Video Intelligence API. - analyze.js labels-gcs Labels objects in a video stored in Google Cloud Storage using the Cloud Video - Intelligence API. - analyze.js labels-file Labels objects in a video stored locally using the Cloud Video Intelligence API. - analyze.js safe-search Detects explicit content in a video stored in Google Cloud Storage. - analyze.js transcription Extract the video transcription using the Cloud Video Intelligence API. +----- -Options: - --version Show version number [boolean] - --help Show help [boolean] -Examples: - node analyze.js shots gs://demomaker/sushi.mp4 - node analyze.js labels-gcs gs://demomaker/tomatoes.mp4 - node analyze.js labels-file ./resources/cat.mp4 - node analyze.js safe-search gs://demomaker/tomatoes.mp4 - node analyze.js transcription gs://demomaker/tomatoes.mp4 -For more information, see https://cloud.google.com/video-intelligence/docs -``` -[video_0_docs]: https://cloud.google.com/video-intelligence/docs -[video_0_code]: analyze.js +### Quickstart -### Video Intelligence Beta +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/quickstart.js). -View the [source code][video_1_code]. +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) +__Usage:__ -__Usage:__ `node analyze.v1p2beta1.js --help` -``` -analyze.v1p2beta1.js +`node quickstart.js` -Commands: - analyze.v1p2beta1.js video-text-gcs Analyzes text in a video stored in Google Cloud Storage using the - Cloud Video Intelligence API. - analyze.v1p2beta1.js track-objects-gcs Analyzes objects in a video stored in Google Cloud Storage using the - Cloud Video Intelligence API. - analyze.v1p2beta1.js video-text Analyzes text in a video stored in a local file using the Cloud Video - Intelligence API. - analyze.v1p2beta1.js track-objects Analyzes objects in a video stored in a local file using the Cloud - Video Intelligence API. -Options: - --version Show version number [boolean] - --help Show help [boolean] -Examples: - node analyze.v1p2beta1.js video-text ./resources/googlework_short.mp4 - node analyze.v1p2beta1.js video-text-gcs gs://nodejs-docs-samples/videos/googlework_short.mp4 - node analyze.v1p2beta1.js track-objects ./resources/cat.mp4 - node analyze.v1p2beta1.js track-objects-gcs gs://nodejs-docs-samples/video/cat.mp4 -For more information, see https://cloud.google.com/video-intelligence/docs -``` -[video_1_docs]: https://cloud.google.com/video-intelligence/docs -[video_1_code]: analyze.v1p2beta1.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-video-intelligence&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/video-intelligence \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 584c483977e..836b4db5641 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-10T12:18:43.741935Z", + "updateTime": "2019-05-14T00:37:22.401415Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "07883be5bf3c3233095e99d8e92b8094f5d7084a", - "internalRef": "247530843" + "sha": "399f2415aedccc3c28972cf54770b2145d4cf62d", + "internalRef": "248030680" } }, { diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 46afa7a7028..5d0fe807283 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -31,16 +31,6 @@ 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 855d89e111154a1a7b97f0875b9e0923e3e6b764 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 17 May 2019 16:50:39 -0700 Subject: [PATCH 171/418] build: updated kokoro config for coverage and release-please (#237) --- packages/google-cloud-videointelligence/synth.metadata | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 836b4db5641..71cfaf1fe54 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-14T00:37:22.401415Z", + "updateTime": "2019-05-17T19:54:44.439574Z", "sources": [ { "generator": { @@ -12,15 +12,15 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "399f2415aedccc3c28972cf54770b2145d4cf62d", - "internalRef": "248030680" + "sha": "99efb1441b7c2aeb75c69f8baf9b61d4221bb744", + "internalRef": "248724297" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.5.2" + "version": "2019.4.10" } } ], From 79017bc34e7da25a25fcea6866957146cb39a234 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 May 2019 07:56:11 -0700 Subject: [PATCH 172/418] chore: release 2.0.1 (#241) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 22329923529..3809afe386c 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.0...v2.0.1) (2019-05-20) + + +### Bug Fixes + +* update min dependencies and use repo-tools to generate README ([#236](https://www.github.com/googleapis/nodejs-video-intelligence/issues/236)) ([81dfa09](https://www.github.com/googleapis/nodejs-video-intelligence/commit/81dfa09)) + ## [2.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v1.6.0...v2.0.0) (2019-05-13) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a9dd7d1b69c..35147768a2d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.0.0", + "version": "2.0.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index fe7836ebb52..c7147351409 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.0.0", + "@google-cloud/video-intelligence": "^2.0.1", "yargs": "^13.0.0" }, "devDependencies": { From bb136d330dd528d5b0a87584db9530413d326906 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 21 May 2019 08:25:12 -0700 Subject: [PATCH 173/418] refactor: drop dependency on lodash.merge and update links (#243) --- .../google-cloud-videointelligence/package.json | 1 - .../src/v1/video_intelligence_service_client.js | 16 ++++++---------- .../v1beta1/video_intelligence_service_client.js | 16 ++++++---------- .../v1beta2/video_intelligence_service_client.js | 16 ++++++---------- .../video_intelligence_service_client.js | 16 ++++++---------- .../video_intelligence_service_client.js | 16 ++++++---------- ...treaming_video_intelligence_service_client.js | 12 ++++-------- .../video_intelligence_service_client.js | 16 ++++++---------- .../synth.metadata | 12 ++++++------ 9 files changed, 46 insertions(+), 75 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 35147768a2d..f8197181d11 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -42,7 +42,6 @@ }, "dependencies": { "google-gax": "^1.0.0", - "lodash.merge": "^4.6.1", "protobufjs": "^6.8.8" }, "devDependencies": { diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 357b92ef2e6..a9df1a269a9 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -252,13 +248,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 3b76c1da53b..7fdf378bac9 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1beta1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1beta1/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -251,13 +247,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 595b731cce0..b85f0756773 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1beta2/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1beta2/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -252,13 +248,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 6242eb543c7..f941f2ff1a1 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1p1beta1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1p1beta1/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -252,13 +248,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 7aff71e412d..8d51b8a9ca3 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1p2beta1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1p2beta1/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -252,13 +248,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index c44125dc1a6..29e2e762c6a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./streaming_video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const VERSION = require('../../package.json').version; @@ -88,12 +87,9 @@ class StreamingVideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1p3beta1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1p3beta1/video_intelligence.proto'] ); // Some of the methods on this service provide streaming responses. @@ -191,7 +187,7 @@ class StreamingVideoIntelligenceServiceClient { * * @param {Object} [options] * Optional parameters. You 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 is both readable and writable. It accepts objects * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index c875b1b5a92..90a7d7a0635 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -89,12 +88,9 @@ class VideoIntelligenceServiceClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/videointelligence/v1p3beta1/video_intelligence.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/videointelligence/v1p3beta1/video_intelligence.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -252,13 +248,13 @@ class VideoIntelligenceServiceClient { * is specified, a region will be determined based on video file location. * @param {Object} [options] * Optional parameters. You 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 71cfaf1fe54..85d62d1c410 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-05-17T19:54:44.439574Z", + "updateTime": "2019-05-21T11:29:32.143324Z", "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 124e860f70e9abcdc947ca3369550fe2e4e7d769 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 23 May 2019 02:40:03 +0000 Subject: [PATCH 174/418] chore: use published jsdoc-baseline package (#244) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f8197181d11..9644321109a 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -52,7 +52,7 @@ "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", - "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", + "jsdoc-baseline": "^0.1.0", "linkinator": "^1.4.2", "mocha": "^6.1.4", "nyc": "^14.1.1", From 604ad589d3c8c76d796c1ff1aeb3f39faa15257c Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 28 May 2019 20:41:13 +0000 Subject: [PATCH 175/418] build: ignore proto files in test coverage (#246) --- packages/google-cloud-videointelligence/.nycrc | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index bfe4073a6ab..83a421a0628 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -10,6 +10,7 @@ "**/samples", "**/scripts", "**/src/**/v*/**/*.js", + "**/protos", "**/test", ".jsdoc.js", "**/.jsdoc.js", From c449a513e6004ce6112a893cc9f054731b290d92 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 5 Jun 2019 08:59:53 -0700 Subject: [PATCH 176/418] feat: add ObjectTrackingConfig and support apiEndpoint (#249) --- .../v1/video_intelligence.proto | 32 ++ .../v1p3beta1/video_intelligence.proto | 253 +++++++++++- .../v1/doc_video_intelligence.js | 42 ++ .../v1/video_intelligence_service_client.js | 14 +- .../video_intelligence_service_client.js | 14 +- .../video_intelligence_service_client.js | 14 +- .../video_intelligence_service_client.js | 14 +- .../video_intelligence_service_client.js | 14 +- .../v1p3beta1/doc_video_intelligence.js | 373 +++++++++++++++++- ...aming_video_intelligence_service_client.js | 14 +- .../video_intelligence_service_client.js | 14 +- .../synth.metadata | 10 +- .../test/gapic-v1.js | 23 ++ .../test/gapic-v1beta1.js | 26 ++ .../test/gapic-v1beta2.js | 26 ++ .../test/gapic-v1p1beta1.js | 26 ++ .../test/gapic-v1p2beta1.js | 26 ++ .../test/gapic-v1p3beta1.js | 53 +++ 18 files changed, 968 insertions(+), 20 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 09b51f5d0b5..3d00a0d616d 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -108,6 +108,9 @@ message VideoContext { // Config for TEXT_DETECTION. TextDetectionConfig text_detection_config = 8; + + // Config for OBJECT_TRACKING. + ObjectTrackingConfig object_tracking_config = 13; } // Config for LABEL_DETECTION. @@ -126,6 +129,22 @@ message LabelDetectionConfig { // Supported values: "builtin/stable" (the default if unset) and // "builtin/latest". string model = 3; + + // The confidence threshold we perform filtering on the labels from + // frame-level detection. If not set, it is set to 0.4 by default. The valid + // range for this threshold is [0.1, 0.9]. Any value set outside of this + // range will be clipped. + // Note: for best results please follow the default threshold. We will update + // the default threshold everytime when we release a new model. + float frame_confidence_threshold = 4; + + // The confidence threshold we perform filtering on the labels from + // video-level and shot-level detections. If not set, it is set to 0.3 by + // default. The valid range for this threshold is [0.1, 0.9]. Any value set + // outside of this range will be clipped. + // Note: for best results please follow the default threshold. We will update + // the default threshold everytime when we release a new model. + float video_confidence_threshold = 5; } // Config for SHOT_CHANGE_DETECTION. @@ -155,6 +174,14 @@ message FaceDetectionConfig { bool include_bounding_boxes = 2; } +// Config for OBJECT_TRACKING. +message ObjectTrackingConfig { + // Model to use for object tracking. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + // Config for TEXT_DETECTION. message TextDetectionConfig { // Language hint can be specified if the language to be detected is known a @@ -163,6 +190,11 @@ message TextDetectionConfig { // // Automatic language detection is performed if no hint is provided. repeated string language_hints = 1; + + // Model to use for text detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 2; } // Video segment. diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index dc65a651e78..763413b1361 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -109,8 +109,14 @@ message VideoContext { // Config for EXPLICIT_CONTENT_DETECTION. ExplicitContentDetectionConfig explicit_content_detection_config = 4; + // Config for SPEECH_TRANSCRIPTION. + SpeechTranscriptionConfig speech_transcription_config = 6; + // Config for TEXT_DETECTION. TextDetectionConfig text_detection_config = 8; + + // Config for OBJECT_TRACKING. + ObjectTrackingConfig object_tracking_config = 13; } // Config for LABEL_DETECTION. @@ -129,6 +135,22 @@ message LabelDetectionConfig { // Supported values: "builtin/stable" (the default if unset) and // "builtin/latest". string model = 3; + + // The confidence threshold we perform filtering on the labels from + // frame-level detection. If not set, it is set to 0.4 by default. The valid + // range for this threshold is [0.1, 0.9]. Any value set outside of this + // range will be clipped. + // Note: for best results please follow the default threshold. We will update + // the default threshold everytime when we release a new model. + float frame_confidence_threshold = 4; + + // The confidence threshold we perform filtering on the labels from + // video-level and shot-level detections. If not set, it is set to 0.3 by + // default. The valid range for this threshold is [0.1, 0.9]. Any value set + // outside of this range will be clipped. + // Note: for best results please follow the default threshold. We will update + // the default threshold everytime when we release a new model. + float video_confidence_threshold = 5; } // Config for SHOT_CHANGE_DETECTION. @@ -139,6 +161,14 @@ message ShotChangeDetectionConfig { string model = 1; } +// Config for OBJECT_TRACKING. +message ObjectTrackingConfig { + // Model to use for object tracking. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; +} + // Config for EXPLICIT_CONTENT_DETECTION. message ExplicitContentDetectionConfig { // Model to use for explicit content detection. @@ -155,6 +185,11 @@ message TextDetectionConfig { // // Automatic language detection is performed if no hint is provided. repeated string language_hints = 1; + + // Model to use for text detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 2; } // Video segment. @@ -254,6 +289,51 @@ message NormalizedBoundingBox { float bottom = 4; } +// For tracking related features, such as LOGO_RECOGNITION, FACE_DETECTION, +// CELEBRITY_RECOGNITION, PERSON_DETECTION. +// An object at time_offset with attributes, and located with +// normalized_bounding_box. +message TimestampedObject { + // Normalized Bounding box in a frame, where the object is located. + NormalizedBoundingBox normalized_bounding_box = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this object. + google.protobuf.Duration time_offset = 2; + + // Optional. The attributes of the object in the bounding box. + repeated DetectedAttribute attributes = 3; +} + +// A track of an object instance. +message Track { + // Video segment of a track. + VideoSegment segment = 1; + + // The object with timestamp and attributes per frame in the track. + repeated TimestampedObject timestamped_objects = 2; + + // Optional. Attributes in the track level. + repeated DetectedAttribute attributes = 3; + + // Optional. The confidence score of the tracked object. + float confidence = 4; +} + +// A generic detected attribute represented by name in string format. +message DetectedAttribute { + // The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + // A full list of supported type names will be provided in the document. + string name = 1; + + // Detected attribute confidence. Range [0, 1]. + float confidence = 2; + + // Text value of the detection result. For example, the value for "HairColor" + // can be "black", "blonde", etc. + string value = 3; +} + // Annotation results for a single video. message VideoAnnotationResults { // Video file location in @@ -278,6 +358,9 @@ message VideoAnnotationResults { // Explicit content annotation. ExplicitContentAnnotation explicit_annotation = 7; + // Speech transcription. + repeated SpeechTranscription speech_transcriptions = 11; + // OCR text detection and tracking. // Annotations for list of detected text snippets. Each will have list of // frame information associated with it. @@ -286,6 +369,9 @@ message VideoAnnotationResults { // Annotations for list of objects detected and tracked in video. repeated ObjectTrackingAnnotation object_annotations = 14; + // Annotations for list of logos detected, tracked and recognized in video. + repeated LogoRecognitionAnnotation logo_recognition_annotations = 19; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -324,6 +410,142 @@ message AnnotateVideoProgress { repeated VideoAnnotationProgress annotation_progress = 1; } +// Config for SPEECH_TRANSCRIPTION. +message SpeechTranscriptionConfig { + // *Required* The language of the supplied audio as a + // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + // Example: "en-US". + // See [Language Support](https://cloud.google.com/speech/docs/languages) + // for a list of the currently supported language codes. + string language_code = 1; + + // *Optional* Maximum number of recognition hypotheses to be returned. + // Specifically, the maximum number of `SpeechRecognitionAlternative` messages + // within each `SpeechTranscription`. The server may return fewer than + // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + // return a maximum of one. If omitted, will return a maximum of one. + int32 max_alternatives = 2; + + // *Optional* If set to `true`, the server will attempt to filter out + // profanities, replacing all but the initial character in each filtered word + // with asterisks, e.g. "f***". If set to `false` or omitted, profanities + // won't be filtered out. + bool filter_profanity = 3; + + // *Optional* A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4; + + // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // This feature is only available in select languages. Setting this for + // requests in other languages has no effect at all. The default 'false' value + // does not add punctuation to result hypotheses. NOTE: "This is currently + // offered as an experimental service, complimentary to all users. In the + // future this may be exclusively available as a premium feature." + bool enable_automatic_punctuation = 5; + + // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // tracks, specify up to two tracks. Default: track 0. + repeated int32 audio_tracks = 6; + + // *Optional* If 'true', enables speaker detection for each recognized word in + // the top alternative of the recognition result using a speaker_tag provided + // in the WordInfo. + // Note: When this is true, we send all the words from the beginning of the + // audio for the top alternative in every consecutive responses. + // This is done in order to improve our speaker tags as our models learn to + // identify the speakers in the conversation over time. + bool enable_speaker_diarization = 7; + + // *Optional* + // If set, specifies the estimated number of speakers in the conversation. + // If not set, defaults to '2'. + // Ignored unless enable_speaker_diarization is set to true. + int32 diarization_speaker_count = 8; + + // *Optional* If `true`, the top result includes a list of words and the + // confidence for those words. If `false`, no word-level confidence + // information is returned. The default is `false`. + bool enable_word_confidence = 9; +} + +// Provides "hints" to the speech recognizer to favor specific words and phrases +// in the results. +message SpeechContext { + // *Optional* A list of strings containing words and phrases "hints" so that + // the speech recognition is more likely to recognize them. This can be used + // to improve the accuracy for specific words and phrases, for example, if + // specific commands are typically spoken by the user. This can also be used + // to add additional words to the vocabulary of the recognizer. See + // [usage limits](https://cloud.google.com/speech/limits#content). + repeated string phrases = 1; +} + +// A speech recognition result corresponding to a portion of the audio. +message SpeechTranscription { + // May contain one or more recognition hypotheses (up to the maximum specified + // in `max_alternatives`). These alternatives are ordered in terms of + // accuracy, with the top (first) alternative being the most probable, as + // ranked by the recognizer. + repeated SpeechRecognitionAlternative alternatives = 1; + + // Output only. The + // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the + // language in this result. This language code was detected to have the most + // likelihood of being spoken in the audio. + string language_code = 2; +} + +// Alternative hypotheses (a.k.a. n-best list). +message SpeechRecognitionAlternative { + // Transcript text representing the words that the user spoke. + string transcript = 1; + + // The confidence estimate between 0.0 and 1.0. A higher number + // indicates an estimated greater likelihood that the recognized words are + // correct. This field is typically provided only for the top hypothesis, and + // only for `is_final=true` results. Clients should not rely on the + // `confidence` field as it is not guaranteed to be accurate or consistent. + // The default of 0.0 is a sentinel value indicating `confidence` was not set. + float confidence = 2; + + // A list of word-specific information for each recognized word. + repeated WordInfo words = 3; +} + +// Word-specific information for recognized words. Word information is only +// included in the response when certain request parameters are set, such +// as `enable_word_time_offsets`. +message WordInfo { + // Time offset relative to the beginning of the audio, and + // corresponding to the start of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration start_time = 1; + + // Time offset relative to the beginning of the audio, and + // corresponding to the end of the spoken word. This field is only set if + // `enable_word_time_offsets=true` and only in the top hypothesis. This is an + // experimental feature and the accuracy of the time offset can vary. + google.protobuf.Duration end_time = 2; + + // The word corresponding to this set of information. + string word = 3; + + // Output only. The confidence estimate between 0.0 and 1.0. A higher number + // indicates an estimated greater likelihood that the recognized words are + // correct. This field is set only for the top alternative. + // This field is not guaranteed to be accurate and users should not rely on it + // to be always provided. + // The default of 0.0 is a sentinel value indicating `confidence` was not set. + float confidence = 4; + + // Output only. A distinct integer value is assigned for every speaker within + // the audio. This field specifies which one of those speakers was detected to + // have spoken this word. Value ranges from 1 up to diarization_speaker_count, + // and is only set if speaker diarization is enabled. + int32 speaker_tag = 5; +} + // 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. @@ -432,6 +654,21 @@ message ObjectTrackingAnnotation { } } +// Annotation corresponding to one detected, tracked and recognized logo class. +message LogoRecognitionAnnotation { + // Entity category information to specify the logo class that all the logo + // tracks within this LogoRecognitionAnnotation are recognized as. + Entity entity = 1; + + // All logo tracks where the recognized logo appears. Each track corresponds + // to one logo instance appearing in consecutive frames. + repeated Track tracks = 2; + + // All video segments where the recognized logo appears. There might be + // multiple instances of the same logo class appearing in one VideoSegment. + repeated VideoSegment segments = 3; +} + // The top-level message sent by the client for the `StreamingAnnotateVideo` // method. Multiple `StreamingAnnotateVideoRequest` messages are sent. // The first message must only contain a `StreamingVideoConfig` message. @@ -450,6 +687,8 @@ message StreamingAnnotateVideoRequest { // `StreamingAnnotateVideoRequest` message containing only // `video_config`, all subsequent `AnnotateStreamingVideoRequest` // messages must only contain `input_content` field. + // Note: as with all bytes fields, protobuffers use a pure binary + // representation (not base64). bytes input_content = 2; } } @@ -458,7 +697,7 @@ message StreamingAnnotateVideoRequest { // by `StreamingAnnotateVideo`. A series of zero or more // `StreamingAnnotateVideoResponse` messages are streamed back to the client. message StreamingAnnotateVideoResponse { - // If set, returns a [google.rpc.Status][] message that + // If set, returns a [google.rpc.Status][google.rpc.Status] message that // specifies the error for the operation. google.rpc.Status error = 1; @@ -522,7 +761,7 @@ message StreamingVideoAnnotationResults { // Label annotation results. repeated LabelAnnotation label_annotations = 2; - // Explicit content detection results. + // Explicit content annotation results. ExplicitContentAnnotation explicit_annotation = 3; // Object tracking results. @@ -537,10 +776,10 @@ message StreamingVideoConfig { // Config for requested annotation feature. oneof streaming_config { - // Config for SHOT_CHANGE_DETECTION. + // Config for STREAMING_SHOT_CHANGE_DETECTION. StreamingShotChangeDetectionConfig shot_change_detection_config = 2; - // Config for LABEL_DETECTION. + // Config for STREAMING_LABEL_DETECTION. StreamingLabelDetectionConfig label_detection_config = 3; // Config for STREAMING_EXPLICIT_CONTENT_DETECTION. @@ -569,11 +808,17 @@ enum Feature { // Explicit content detection. EXPLICIT_CONTENT_DETECTION = 3; + // Speech transcription. + SPEECH_TRANSCRIPTION = 6; + // OCR text detection and tracking. TEXT_DETECTION = 7; // Object detection and tracking. OBJECT_TRACKING = 9; + + // Logo detection, tracking, and recognition. + LOGO_RECOGNITION = 12; } // Label detection mode. diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index fb77061d9ab..43a0e41d178 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -106,6 +106,11 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1.TextDetectionConfig} * + * @property {Object} objectTrackingConfig + * Config for OBJECT_TRACKING. + * + * This object should have the same structure as [ObjectTrackingConfig]{@link google.cloud.videointelligence.v1.ObjectTrackingConfig} + * * @typedef VideoContext * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} @@ -134,6 +139,22 @@ const VideoContext = { * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * + * @property {number} frameConfidenceThreshold + * The confidence threshold we perform filtering on the labels from + * frame-level detection. If not set, it is set to 0.4 by default. The valid + * range for this threshold is [0.1, 0.9]. Any value set outside of this + * range will be clipped. + * Note: for best results please follow the default threshold. We will update + * the default threshold everytime when we release a new model. + * + * @property {number} videoConfidenceThreshold + * The confidence threshold we perform filtering on the labels from + * video-level and shot-level detections. If not set, it is set to 0.3 by + * default. The valid range for this threshold is [0.1, 0.9]. Any value set + * outside of this range will be clipped. + * Note: for best results please follow the default threshold. We will update + * the default threshold everytime when we release a new model. + * * @typedef LabelDetectionConfig * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} @@ -193,6 +214,22 @@ const FaceDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for OBJECT_TRACKING. + * + * @property {string} model + * Model to use for object tracking. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1 + * @see [google.cloud.videointelligence.v1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + */ +const ObjectTrackingConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Config for TEXT_DETECTION. * @@ -203,6 +240,11 @@ const FaceDetectionConfig = { * * Automatic language detection is performed if no hint is provided. * + * @property {string} model + * Model to use for text detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * * @typedef TextDetectionConfig * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index a9df1a269a9..56b43b22ceb 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 7fdf378bac9..42f7351058d 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index b85f0756773..eced0a6c9df 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index f941f2ff1a1..953d8d3b5da 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 8d51b8a9ca3..f098bf22a88 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 48ee5eb0732..2b7062041e3 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -91,11 +91,21 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} * + * @property {Object} speechTranscriptionConfig + * Config for SPEECH_TRANSCRIPTION. + * + * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} + * * @property {Object} textDetectionConfig * Config for TEXT_DETECTION. * * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} * + * @property {Object} objectTrackingConfig + * Config for OBJECT_TRACKING. + * + * This object should have the same structure as [ObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} + * * @typedef VideoContext * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -124,6 +134,22 @@ const VideoContext = { * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * + * @property {number} frameConfidenceThreshold + * The confidence threshold we perform filtering on the labels from + * frame-level detection. If not set, it is set to 0.4 by default. The valid + * range for this threshold is [0.1, 0.9]. Any value set outside of this + * range will be clipped. + * Note: for best results please follow the default threshold. We will update + * the default threshold everytime when we release a new model. + * + * @property {number} videoConfidenceThreshold + * The confidence threshold we perform filtering on the labels from + * video-level and shot-level detections. If not set, it is set to 0.3 by + * default. The valid range for this threshold is [0.1, 0.9]. Any value set + * outside of this range will be clipped. + * Note: for best results please follow the default threshold. We will update + * the default threshold everytime when we release a new model. + * * @typedef LabelDetectionConfig * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -148,6 +174,22 @@ const ShotChangeDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for OBJECT_TRACKING. + * + * @property {string} model + * Model to use for object tracking. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const ObjectTrackingConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Config for EXPLICIT_CONTENT_DETECTION. * @@ -174,6 +216,11 @@ const ExplicitContentDetectionConfig = { * * Automatic language detection is performed if no hint is provided. * + * @property {string} model + * Model to use for text detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * * @typedef TextDetectionConfig * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -365,6 +412,87 @@ const NormalizedBoundingBox = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * For tracking related features, such as LOGO_RECOGNITION, FACE_DETECTION, + * CELEBRITY_RECOGNITION, PERSON_DETECTION. + * An object at time_offset with attributes, and located with + * normalized_bounding_box. + * + * @property {Object} normalizedBoundingBox + * Normalized Bounding box in a frame, where the object is located. + * + * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} + * + * @property {Object} timeOffset + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object[]} attributes + * Optional. The attributes of the object in the bounding box. + * + * This object should have the same structure as [DetectedAttribute]{@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute} + * + * @typedef TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.TimestampedObject definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const TimestampedObject = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A track of an object instance. + * + * @property {Object} segment + * Video segment of a track. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @property {Object[]} timestampedObjects + * The object with timestamp and attributes per frame in the track. + * + * This object should have the same structure as [TimestampedObject]{@link google.cloud.videointelligence.v1p3beta1.TimestampedObject} + * + * @property {Object[]} attributes + * Optional. Attributes in the track level. + * + * This object should have the same structure as [DetectedAttribute]{@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute} + * + * @property {number} confidence + * Optional. The confidence score of the tracked object. + * + * @typedef Track + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.Track definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const Track = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A generic detected attribute represented by name in string format. + * + * @property {string} name + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + * + * @property {number} confidence + * Detected attribute confidence. Range [0, 1]. + * + * @property {string} value + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + * + * @typedef DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.DetectedAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const DetectedAttribute = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Annotation results for a single video. * @@ -400,6 +528,11 @@ const NormalizedBoundingBox = { * * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} * + * @property {Object[]} speechTranscriptions + * Speech transcription. + * + * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription} + * * @property {Object[]} textAnnotations * OCR text detection and tracking. * Annotations for list of detected text snippets. Each will have list of @@ -412,6 +545,11 @@ const NormalizedBoundingBox = { * * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} * + * @property {Object[]} logoRecognitionAnnotations + * Annotations for list of logos detected, tracked and recognized in video. + * + * This object should have the same structure as [LogoRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} + * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. @@ -491,6 +629,192 @@ const AnnotateVideoProgress = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for SPEECH_TRANSCRIPTION. + * + * @property {string} languageCode + * *Required* The language of the supplied audio as a + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. + * Example: "en-US". + * See [Language Support](https://cloud.google.com/speech/docs/languages) + * for a list of the currently supported language codes. + * + * @property {number} maxAlternatives + * *Optional* Maximum number of recognition hypotheses to be returned. + * Specifically, the maximum number of `SpeechRecognitionAlternative` messages + * within each `SpeechTranscription`. The server may return fewer than + * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will + * return a maximum of one. If omitted, will return a maximum of one. + * + * @property {boolean} filterProfanity + * *Optional* If set to `true`, the server will attempt to filter out + * profanities, replacing all but the initial character in each filtered word + * with asterisks, e.g. "f***". If set to `false` or omitted, profanities + * won't be filtered out. + * + * @property {Object[]} speechContexts + * *Optional* A means to provide context to assist the speech recognition. + * + * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p3beta1.SpeechContext} + * + * @property {boolean} enableAutomaticPunctuation + * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * This feature is only available in select languages. Setting this for + * requests in other languages has no effect at all. The default 'false' value + * does not add punctuation to result hypotheses. NOTE: "This is currently + * offered as an experimental service, complimentary to all users. In the + * future this may be exclusively available as a premium feature." + * + * @property {number[]} audioTracks + * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * tracks, specify up to two tracks. Default: track 0. + * + * @property {boolean} enableSpeakerDiarization + * *Optional* If 'true', enables speaker detection for each recognized word in + * the top alternative of the recognition result using a speaker_tag provided + * in the WordInfo. + * Note: When this is true, we send all the words from the beginning of the + * audio for the top alternative in every consecutive responses. + * This is done in order to improve our speaker tags as our models learn to + * identify the speakers in the conversation over time. + * + * @property {number} diarizationSpeakerCount + * *Optional* + * If set, specifies the estimated number of speakers in the conversation. + * If not set, defaults to '2'. + * Ignored unless enable_speaker_diarization is set to true. + * + * @property {boolean} enableWordConfidence + * *Optional* If `true`, the top result includes a list of words and the + * confidence for those words. If `false`, no word-level confidence + * information is returned. The default is `false`. + * + * @typedef SpeechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const SpeechTranscriptionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Provides "hints" to the speech recognizer to favor specific words and phrases + * in the results. + * + * @property {string[]} phrases + * *Optional* A list of strings containing words and phrases "hints" so that + * the speech recognition is more likely to recognize them. This can be used + * to improve the accuracy for specific words and phrases, for example, if + * specific commands are typically spoken by the user. This can also be used + * to add additional words to the vocabulary of the recognizer. See + * [usage limits](https://cloud.google.com/speech/limits#content). + * + * @typedef SpeechContext + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const SpeechContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A speech recognition result corresponding to a portion of the audio. + * + * @property {Object[]} alternatives + * May contain one or more recognition hypotheses (up to the maximum specified + * in `max_alternatives`). These alternatives are ordered in terms of + * accuracy, with the top (first) alternative being the most probable, as + * ranked by the recognizer. + * + * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} + * + * @property {string} languageCode + * Output only. The + * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the + * language in this result. This language code was detected to have the most + * likelihood of being spoken in the audio. + * + * @typedef SpeechTranscription + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const SpeechTranscription = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Alternative hypotheses (a.k.a. n-best list). + * + * @property {string} transcript + * Transcript text representing the words that the user spoke. + * + * @property {number} confidence + * The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is typically provided only for the top hypothesis, and + * only for `is_final=true` results. Clients should not rely on the + * `confidence` field as it is not guaranteed to be accurate or consistent. + * The default of 0.0 is a sentinel value indicating `confidence` was not set. + * + * @property {Object[]} words + * A list of word-specific information for each recognized word. + * + * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1p3beta1.WordInfo} + * + * @typedef SpeechRecognitionAlternative + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const SpeechRecognitionAlternative = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Word-specific information for recognized words. Word information is only + * included in the response when certain request parameters are set, such + * as `enable_word_time_offsets`. + * + * @property {Object} startTime + * Time offset relative to the beginning of the audio, and + * corresponding to the start of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {Object} endTime + * Time offset relative to the beginning of the audio, and + * corresponding to the end of the spoken word. This field is only set if + * `enable_word_time_offsets=true` and only in the top hypothesis. This is an + * experimental feature and the accuracy of the time offset can vary. + * + * This object should have the same structure as [Duration]{@link google.protobuf.Duration} + * + * @property {string} word + * The word corresponding to this set of information. + * + * @property {number} confidence + * Output only. The confidence estimate between 0.0 and 1.0. A higher number + * indicates an estimated greater likelihood that the recognized words are + * correct. This field is set only for the top alternative. + * This field is not guaranteed to be accurate and users should not rely on it + * to be always provided. + * The default of 0.0 is a sentinel value indicating `confidence` was not set. + * + * @property {number} speakerTag + * Output only. A distinct integer value is assigned for every speaker within + * the audio. This field specifies which one of those speakers was detected to + * have spoken this word. Value ranges from 1 up to diarization_speaker_count, + * and is only set if speaker diarization is enabled. + * + * @typedef WordInfo + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const WordInfo = { + // 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 @@ -674,6 +998,35 @@ const ObjectTrackingAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Annotation corresponding to one detected, tracked and recognized logo class. + * + * @property {Object} entity + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + * + * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} + * + * @property {Object[]} tracks + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + * + * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} + * + * @property {Object[]} segments + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * + * @typedef LogoRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const LogoRecognitionAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * The top-level message sent by the client for the `StreamingAnnotateVideo` * method. Multiple `StreamingAnnotateVideoRequest` messages are sent. @@ -693,6 +1046,8 @@ const ObjectTrackingAnnotation = { * `StreamingAnnotateVideoRequest` message containing only * `video_config`, all subsequent `AnnotateStreamingVideoRequest` * messages must only contain `input_content` field. + * Note: as with all bytes fields, protobuffers use a pure binary + * representation (not base64). * * @typedef StreamingAnnotateVideoRequest * @memberof google.cloud.videointelligence.v1p3beta1 @@ -822,7 +1177,7 @@ const StreamingStorageConfig = { * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} * * @property {Object} explicitAnnotation - * Explicit content detection results. + * Explicit content annotation results. * * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} * @@ -849,12 +1204,12 @@ const StreamingVideoAnnotationResults = { * The number should be among the values of [StreamingFeature]{@link google.cloud.videointelligence.v1p3beta1.StreamingFeature} * * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. + * Config for STREAMING_SHOT_CHANGE_DETECTION. * * This object should have the same structure as [StreamingShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} * * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. + * Config for STREAMING_LABEL_DETECTION. * * This object should have the same structure as [StreamingLabelDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} * @@ -909,6 +1264,11 @@ const Feature = { */ EXPLICIT_CONTENT_DETECTION: 3, + /** + * Speech transcription. + */ + SPEECH_TRANSCRIPTION: 6, + /** * OCR text detection and tracking. */ @@ -917,7 +1277,12 @@ const Feature = { /** * Object detection and tracking. */ - OBJECT_TRACKING: 9 + OBJECT_TRACKING: 9, + + /** + * Logo detection, tracking, and recognition. + */ + LOGO_RECOGNITION: 12 }; /** diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index 29e2e762c6a..b893493efab 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -55,14 +55,18 @@ class StreamingVideoIntelligenceServiceClient { * 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 ); @@ -152,6 +156,14 @@ class StreamingVideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 90a7d7a0635..f16ca8fc0cc 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -56,14 +56,18 @@ class VideoIntelligenceServiceClient { * 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 ); @@ -176,6 +180,14 @@ class VideoIntelligenceServiceClient { return 'videointelligence.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'videointelligence.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 85d62d1c410..a08fe7db4af 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-05-21T11:29:32.143324Z", + "updateTime": "2019-06-05T14:30:25.384482Z", "sources": [ { "generator": { "name": "artman", - "version": "0.20.0", - "dockerImage": "googleapis/artman@sha256:3246adac900f4bdbd62920e80de2e5877380e44036b3feae13667ec255ebf5ec" + "version": "0.23.1", + "dockerImage": "googleapis/artman@sha256:9d5cae1454da64ac3a87028f8ef486b04889e351c83bb95e83b8fab3959faed0" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "32a10f69e2c9ce15bba13ab1ff928bacebb25160", - "internalRef": "249058354" + "sha": "47c142a7cecc6efc9f6f8af804b8be55392b795b", + "internalRef": "251635729" } }, { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 45c4e5225a0..5dad8ce8569 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -23,6 +23,29 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = videoIntelligenceModule.v1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index 0842fe21fe4..2e1829e99e0 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -23,6 +23,32 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceModule.v1beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceModule.v1beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceModule.v1beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 43d1f6607a5..571805589f0 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -23,6 +23,32 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index 08f1266c05f..68391fa512b 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -23,6 +23,32 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index c9af82d81b2..2995558cc79 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js @@ -23,6 +23,32 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index 79c56511cae..fa30cdb826a 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -24,6 +24,32 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( @@ -125,6 +151,33 @@ describe('VideoIntelligenceServiceClient', () => { }); }); describe('StreamingVideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + assert(client); + }); + describe('streamingAnnotateVideo', () => { it('invokes streamingAnnotateVideo without error', done => { const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( From 5738318b3abf3d89977c000bca549c50b95956bd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 5 Jun 2019 09:30:04 -0700 Subject: [PATCH 177/418] chore: release 2.1.0 (#250) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 3809afe386c..66cb70b6a72 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.1...v2.1.0) (2019-06-05) + + +### Features + +* add ObjectTrackingConfig and support apiEndpoint ([#249](https://www.github.com/googleapis/nodejs-video-intelligence/issues/249)) ([bac9326](https://www.github.com/googleapis/nodejs-video-intelligence/commit/bac9326)) + ### [2.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.0...v2.0.1) (2019-05-20) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 9644321109a..015c56d7f21 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.0.1", + "version": "2.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index c7147351409..e83f38a444a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.0.1", + "@google-cloud/video-intelligence": "^2.1.0", "yargs": "^13.0.0" }, "devDependencies": { From 8dde293494913111dc6ddfd83dd014bcb57289a4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 10 Jun 2019 13:04:36 -0700 Subject: [PATCH 178/418] chore: release 2.1.1 (#254) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 66cb70b6a72..8b9232f7715 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.0...v2.1.1) (2019-06-10) + + +### Bug Fixes + +* Update example commands to use cloud-storage-samples bucket ([#253](https://www.github.com/googleapis/nodejs-video-intelligence/issues/253)) ([3a80413](https://www.github.com/googleapis/nodejs-video-intelligence/commit/3a80413)) + ## [2.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.1...v2.1.0) (2019-06-05) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 015c56d7f21..6e144f61394 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e83f38a444a..288eb82f3eb 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.1.0", + "@google-cloud/video-intelligence": "^2.1.1", "yargs": "^13.0.0" }, "devDependencies": { From 6888f98d17fcca9c6363db757bc57d176acd132b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 11 Jun 2019 10:01:30 -0700 Subject: [PATCH 179/418] docs: add v1p2beta1 samples to README (#255) --- .../google-cloud-videointelligence/README.md | 1 + .../samples/README.md | 18 ++++++++++++++++++ .../synth.metadata | 10 +++++----- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index cb9cdf8a389..1e8f1e46187 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -123,6 +123,7 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | | Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | +| Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 598fc675d0f..b91f6fd5e9c 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -13,6 +13,7 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) * [Analyze](#analyze) + * [Analyze.v1p2beta1](#analyze.v1p2beta1) * [Quickstart](#quickstart) ## Before you begin @@ -41,6 +42,23 @@ __Usage:__ +### Analyze.v1p2beta1 + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) + +__Usage:__ + + +`node analyze.v1p2beta1.js` + + +----- + + + + ### Quickstart View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/quickstart.js). diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index a08fe7db4af..c774dea7f04 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-05T14:30:25.384482Z", + "updateTime": "2019-06-11T11:26:33.284075Z", "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": "47c142a7cecc6efc9f6f8af804b8be55392b795b", - "internalRef": "251635729" + "sha": "744feb9660b3194fcde37dea50038bde204f3573", + "internalRef": "252553801" } }, { From c55e116de68c3e0b2c5b059e6a7f8c3a48841803 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 12 Jun 2019 08:06:24 -0700 Subject: [PATCH 180/418] docs: update return type in jsdoc for Buffers (#256) --- .../videointelligence/v1/doc_video_intelligence.js | 4 ++-- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1/video_intelligence_service_client.js | 2 +- .../src/v1beta1/doc/google/protobuf/doc_any.js | 2 +- .../v1beta2/doc_video_intelligence.js | 4 ++-- .../src/v1beta2/doc/google/protobuf/doc_any.js | 2 +- .../src/v1beta2/video_intelligence_service_client.js | 2 +- .../v1p1beta1/doc_video_intelligence.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p1beta1/video_intelligence_service_client.js | 2 +- .../v1p2beta1/doc_video_intelligence.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p2beta1/video_intelligence_service_client.js | 2 +- .../v1p3beta1/doc_video_intelligence.js | 4 ++-- .../src/v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p3beta1/video_intelligence_service_client.js | 2 +- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 17 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 43a0e41d178..2cc725783c7 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -30,7 +30,7 @@ * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. @@ -479,7 +479,7 @@ const FaceFrame = { /** * Face annotation. * - * @property {string} thumbnail + * @property {Buffer} thumbnail * Thumbnail of a representative face view (in JPEG format). * * @property {Object[]} segments diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 56b43b22ceb..9f3b0e238c3 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -235,7 +235,7 @@ class VideoIntelligenceServiceClient { * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string} [request.inputContent] + * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/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-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 8cbdea3b1ba..99e6e0bf3b6 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js @@ -30,7 +30,7 @@ * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. @@ -409,7 +409,7 @@ const FaceFrame = { /** * Face annotation. * - * @property {string} thumbnail + * @property {Buffer} thumbnail * Thumbnail of a representative face view (in JPEG format). * * @property {Object[]} segments diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index eced0a6c9df..97379a9102f 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -235,7 +235,7 @@ class VideoIntelligenceServiceClient { * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string} [request.inputContent] + * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index 7aece7ffb06..600df73c010 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -30,7 +30,7 @@ * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 953d8d3b5da..7392d0f492b 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -235,7 +235,7 @@ class VideoIntelligenceServiceClient { * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string} [request.inputContent] + * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index a80b63471e0..adec5684d0b 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js @@ -30,7 +30,7 @@ * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index f098bf22a88..acf537d9cea 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -235,7 +235,7 @@ class VideoIntelligenceServiceClient { * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string} [request.inputContent] + * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 2b7062041e3..71750d1031b 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -30,7 +30,7 @@ * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. @@ -1040,7 +1040,7 @@ const LogoRecognitionAnnotation = { * * This object should have the same structure as [StreamingVideoConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} * - * @property {string} inputContent + * @property {Buffer} inputContent * The video data to be annotated. Chunks of video data are sequentially * sent in `StreamingAnnotateVideoRequest` messages. Except the initial * `StreamingAnnotateVideoRequest` message containing only diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index f16ca8fc0cc..c667c0efad1 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -235,7 +235,7 @@ class VideoIntelligenceServiceClient { * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {string} [request.inputContent] + * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c774dea7f04..fbf9836bfde 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-11T11:26:33.284075Z", + "updateTime": "2019-06-12T11:28:03.051269Z", "sources": [ { "generator": { "name": "artman", - "version": "0.24.0", - "dockerImage": "googleapis/artman@sha256:ce425884865f57f18307e597bca1a74a3619b7098688d4995261f3ffb3488681" + "version": "0.24.1", + "dockerImage": "googleapis/artman@sha256:6018498e15310260dc9b03c9d576608908ed9fbabe42e1494ff3d827fea27b19" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "744feb9660b3194fcde37dea50038bde204f3573", - "internalRef": "252553801" + "sha": "f117dac435e96ebe58d85280a3faf2350c4d4219", + "internalRef": "252714985" } }, { From 71e6e9483a1c3ebda1c3f7b62494c19020cff2ea Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 12 Jun 2019 22:18:47 -0700 Subject: [PATCH 181/418] fix(docs): move to new client docs URL (#257) --- packages/google-cloud-videointelligence/.repo-metadata.json | 4 ++-- packages/google-cloud-videointelligence/README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 293cf27602e..939236612b3 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -2,7 +2,7 @@ "name": "video", "name_pretty": "Google Cloud Video Intelligence API", "product_documentation": "https://cloud.google.com/video-intelligence", - "client_documentation": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/", + "client_documentation": "https://googleapis.dev/nodejs/video/latest", "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", "release_level": "ga", "language": "nodejs", @@ -10,4 +10,4 @@ "distribution_name": "@google-cloud/video-intelligence", "api_id": "videointelligence.googleapis.com", "requires_billing": true -} +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 1e8f1e46187..e2c997e48f9 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -160,7 +160,7 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) -[client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/ +[client-docs]: https://googleapis.dev/nodejs/video/latest [product-docs]: https://cloud.google.com/video-intelligence [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project From a9f87245a0129f2bc4e278ea31e9cef828de5058 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 13 Jun 2019 18:26:56 -0700 Subject: [PATCH 182/418] chore: release 2.1.2 (#258) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 8b9232f7715..b98c44e15ee 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.1...v2.1.2) (2019-06-13) + + +### Bug Fixes + +* **docs:** move to new client docs URL ([#257](https://www.github.com/googleapis/nodejs-video-intelligence/issues/257)) ([fccfb8d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fccfb8d)) + ### [2.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.0...v2.1.1) (2019-06-10) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 6e144f61394..16fb42eb659 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 288eb82f3eb..78375d1c326 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.1.1", + "@google-cloud/video-intelligence": "^2.1.2", "yargs": "^13.0.0" }, "devDependencies": { From 33bba8bac1c89cdaff10bb0d167c0b25cc438ae5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Jun 2019 06:26:35 -0700 Subject: [PATCH 183/418] chore: update test/example resource bucket (#259) --- .../src/v1beta1/video_intelligence_service_client.js | 6 +++--- .../src/v1beta2/video_intelligence_service_client.js | 6 +++--- .../src/v1p1beta1/video_intelligence_service_client.js | 6 +++--- .../src/v1p2beta1/video_intelligence_service_client.js | 6 +++--- .../src/v1p3beta1/video_intelligence_service_client.js | 6 +++--- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- .../test/gapic-v1beta1.js | 4 ++-- .../test/gapic-v1beta2.js | 4 ++-- .../test/gapic-v1p1beta1.js | 4 ++-- .../test/gapic-v1p2beta1.js | 4 ++-- .../test/gapic-v1p3beta1.js | 4 ++-- 11 files changed, 30 insertions(+), 30 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 42f7351058d..e739080ce7a 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -276,7 +276,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -301,7 +301,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -335,7 +335,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 97379a9102f..9a72c51bd4a 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -277,7 +277,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -302,7 +302,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -336,7 +336,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 7392d0f492b..2d3f1d929ae 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -277,7 +277,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -302,7 +302,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -336,7 +336,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index acf537d9cea..340e62fd5f1 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -277,7 +277,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -302,7 +302,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -336,7 +336,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index c667c0efad1..e013a596e52 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -277,7 +277,7 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -302,7 +302,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { @@ -336,7 +336,7 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://demomaker/cat.mp4'; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; * const request = { diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index fbf9836bfde..c71a5766943 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-12T11:28:03.051269Z", + "updateTime": "2019-06-14T11:25:51.105632Z", "sources": [ { "generator": { "name": "artman", - "version": "0.24.1", - "dockerImage": "googleapis/artman@sha256:6018498e15310260dc9b03c9d576608908ed9fbabe42e1494ff3d827fea27b19" + "version": "0.25.0", + "dockerImage": "googleapis/artman@sha256:ef1a98ab1e2b8f05f4d9a56f27d63347aefe14020e5f2d585172b14ca76f1d90" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "f117dac435e96ebe58d85280a3faf2350c4d4219", - "internalRef": "252714985" + "sha": "c23b68eecb00c4d285a730a49b1d7d943cd56183", + "internalRef": "253113405" } }, { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index 2e1829e99e0..313d7690014 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -59,7 +59,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 571805589f0..0ff760944f2 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -59,7 +59,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index 68391fa512b..241c99a736a 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -59,7 +59,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index 2995558cc79..fe40d3b5a70 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js @@ -59,7 +59,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -100,7 +100,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index fa30cdb826a..03a57cdfe34 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -60,7 +60,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -101,7 +101,7 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://demomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { From ae9f6e786571c7c1c9e185b9e809090091b3be19 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 18 Jun 2019 10:03:46 -0700 Subject: [PATCH 184/418] build: switch to GitHub magic proxy (#260) --- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c71a5766943..3473bb53586 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-14T11:25:51.105632Z", + "updateTime": "2019-06-18T01:06:21.601708Z", "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 4aea04008972ee13f5634c3c7d52bf96946fc3a0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 19 Jun 2019 07:01:35 -0700 Subject: [PATCH 185/418] feat: support streaming automl configs (#261) --- .../v1p3beta1/video_intelligence.proto | 24 +++++++++ .../v1p3beta1/doc_video_intelligence.js | 52 ++++++++++++++++++- .../synth.metadata | 10 ++-- 3 files changed, 80 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 763413b1361..45059d21d20 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -711,6 +711,20 @@ message StreamingAnnotateVideoResponse { string annotation_results_uri = 3; } +// Config for AUTOML_CLASSIFICATION in streaming mode. +message StreamingAutomlClassificationConfig { + // Resource name of AutoML model. + // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + string model_name = 1; +} + +// Config for AUTOML_OBJECT_TRACKING in streaming mode. +message StreamingAutomlObjectTrackingConfig { + // Resource name of AutoML model. + // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + string model_name = 1; +} + // Config for EXPLICIT_CONTENT_DETECTION in streaming mode. message StreamingExplicitContentDetectionConfig { // No customized config support. @@ -788,6 +802,12 @@ message StreamingVideoConfig { // Config for STREAMING_OBJECT_TRACKING. StreamingObjectTrackingConfig object_tracking_config = 5; + + // Config for STREAMING_AUTOML_CLASSIFICATION. + StreamingAutomlClassificationConfig automl_classification_config = 21; + + // Config for STREAMING_AUTOML_OBJECT_TRACKING. + StreamingAutomlObjectTrackingConfig automl_object_tracking_config = 22; } // Streaming storage option. By default: storage is disabled. @@ -869,4 +889,8 @@ enum StreamingFeature { STREAMING_EXPLICIT_CONTENT_DETECTION = 3; // Object detection and tracking. STREAMING_OBJECT_TRACKING = 4; + // Video classification based on AutoML model. + STREAMING_AUTOML_CLASSIFICATION = 21; + // Object detection and tracking based on AutoML model. + STREAMING_AUTOML_OBJECT_TRACKING = 22; } diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 71750d1031b..ca9bb557cc3 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -1087,6 +1087,36 @@ const StreamingAnnotateVideoResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for AUTOML_CLASSIFICATION in streaming mode. + * + * @property {string} modelName + * Resource name of AutoML model. + * Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + * + * @typedef StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingAutomlClassificationConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for AUTOML_OBJECT_TRACKING in streaming mode. + * + * @property {string} modelName + * Resource name of AutoML model. + * Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + * + * @typedef StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const StreamingAutomlObjectTrackingConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Config for EXPLICIT_CONTENT_DETECTION in streaming mode. * No customized config support. @@ -1223,6 +1253,16 @@ const StreamingVideoAnnotationResults = { * * This object should have the same structure as [StreamingObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} * + * @property {Object} automlClassificationConfig + * Config for STREAMING_AUTOML_CLASSIFICATION. + * + * This object should have the same structure as [StreamingAutomlClassificationConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} + * + * @property {Object} automlObjectTrackingConfig + * Config for STREAMING_AUTOML_OBJECT_TRACKING. + * + * This object should have the same structure as [StreamingAutomlObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} + * * @property {Object} storageConfig * Streaming storage option. By default: storage is disabled. * @@ -1384,5 +1424,15 @@ const StreamingFeature = { /** * Object detection and tracking. */ - STREAMING_OBJECT_TRACKING: 4 + STREAMING_OBJECT_TRACKING: 4, + + /** + * Video classification based on AutoML model. + */ + STREAMING_AUTOML_CLASSIFICATION: 21, + + /** + * Object detection and tracking based on AutoML model. + */ + STREAMING_AUTOML_OBJECT_TRACKING: 22 }; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 3473bb53586..f46f1b91284 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-18T01:06:21.601708Z", + "updateTime": "2019-06-19T11:25:13.691761Z", "sources": [ { "generator": { "name": "artman", - "version": "0.26.0", - "dockerImage": "googleapis/artman@sha256:6db0735b0d3beec5b887153a2a7c7411fc7bb53f73f6f389a822096bd14a3a15" + "version": "0.28.0", + "dockerImage": "googleapis/artman@sha256:6ced5a36b08b82a328c69844e629300d58c14067f25cadab47f52542bdef7daf" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "384aa843867c4d17756d14a01f047b6368494d32", - "internalRef": "253675319" + "sha": "ac13167e31a20314aa05cc9911c95df250880485", + "internalRef": "253867808" } }, { From 908812484e481249539a6efff8e35051cd02dffd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 20 Jun 2019 07:51:09 -0700 Subject: [PATCH 186/418] chore: release 2.2.0 (#262) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index b98c44e15ee..837c80e9d26 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.2...v2.2.0) (2019-06-20) + + +### Features + +* support streaming automl configs ([#261](https://www.github.com/googleapis/nodejs-video-intelligence/issues/261)) ([ca3e0d3](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ca3e0d3)) + ### [2.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.1...v2.1.2) (2019-06-13) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 16fb42eb659..30c3a2bc91f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 78375d1c326..f99a1d56f25 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.1.2", + "@google-cloud/video-intelligence": "^2.2.0", "yargs": "^13.0.0" }, "devDependencies": { From 94d506d1c7e3ecd915b94cfae2eeea97669fac02 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 20 Jun 2019 08:48:11 -0700 Subject: [PATCH 187/418] chore(deps): update dependency eslint-config-prettier to v5 (#264) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 30c3a2bc91f..e70ed28240e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -47,7 +47,7 @@ "devDependencies": { "codecov": "^3.4.0", "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", + "eslint-config-prettier": "^5.0.0", "eslint-plugin-node": "^9.0.1", "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", From bbbae5188b783ad7e7d45bfeae3d66d9e37c2058 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 24 Jun 2019 12:35:15 -0700 Subject: [PATCH 188/418] chore: remove cloud-repo-tools.json (#265) --- .../.cloud-repo-tools.json | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.cloud-repo-tools.json diff --git a/packages/google-cloud-videointelligence/.cloud-repo-tools.json b/packages/google-cloud-videointelligence/.cloud-repo-tools.json deleted file mode 100644 index 7413d258955..00000000000 --- a/packages/google-cloud-videointelligence/.cloud-repo-tools.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "requiresKeyFile": true, - "requiresProjectId": true, - "product": "video", - "client_reference_url": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest/", - "release_quality": "ga", - "samples": [ - { - "id": "video", - "name": "Video Intelligence", - "file": "analyze.js", - "docs_link": "https://cloud.google.com/video-intelligence/docs", - "usage": "node analyze.js --help" - }, - { - "id": "video", - "name": "Video Intelligence Beta", - "file": "analyze.v1p2beta1.js", - "docs_link": "https://cloud.google.com/video-intelligence/docs", - "usage": "node analyze.v1p2beta1.js --help" - } - ] -} From 3d7b084501fd87cdc98795e780b0195f9f4f56e1 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 25 Jun 2019 16:42:35 -0700 Subject: [PATCH 189/418] fix(docs): link to reference docs section on googleapis.dev (#266) * fix(docs): reference docs should link to section of googleapis.dev with API reference * fix(docs): make anchors work in jsdoc --- packages/google-cloud-videointelligence/.jsdoc.js | 3 +++ packages/google-cloud-videointelligence/README.md | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 6751e0d9efd..9e955e5d490 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.jsdoc.js @@ -41,5 +41,8 @@ module.exports = { sourceFiles: false, systemName: '@google-cloud/video-intelligence', theme: 'lumen' + }, + markdown: { + idInHeadings: true } }; diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index e2c997e48f9..f1c4a2a7e50 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -160,10 +160,12 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/video/latest +[client-docs]: https://googleapis.dev/nodejs/video/latest#reference [product-docs]: https://cloud.google.com/video-intelligence [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=videointelligence.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 ac2d5a7b832f46037a64c03cb5604b6482e2fc75 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 26 Jun 2019 15:19:38 -0700 Subject: [PATCH 190/418] chore: release 2.2.1 (#267) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 837c80e9d26..7e7beaf7a10 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.2.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.0...v2.2.1) (2019-06-26) + + +### Bug Fixes + +* **docs:** link to reference docs section on googleapis.dev ([#266](https://www.github.com/googleapis/nodejs-video-intelligence/issues/266)) ([f992de6](https://www.github.com/googleapis/nodejs-video-intelligence/commit/f992de6)) + ## [2.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.2...v2.2.0) (2019-06-20) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e70ed28240e..eef85aa7905 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.2.0", + "version": "2.2.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f99a1d56f25..5c86bf08f7a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.2.0", + "@google-cloud/video-intelligence": "^2.2.1", "yargs": "^13.0.0" }, "devDependencies": { From 88fe91314d0c30c63c9ab4be915e2345ca790f84 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 28 Jun 2019 10:07:50 -0700 Subject: [PATCH 191/418] build: use config file for linkinator (#268) --- .../google-cloud-videointelligence/linkinator.config.json | 7 +++++++ packages/google-cloud-videointelligence/package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/linkinator.config.json diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json new file mode 100644 index 00000000000..d780d6bfff5 --- /dev/null +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -0,0 +1,7 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com" + ] +} diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index eef85aa7905..a50f063b2ae 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -37,7 +37,7 @@ "test-no-cover": "mocha test/*.js", "test": "npm run cover", "fix": "eslint --fix '**/*.js'", - "docs-test": "linkinator docs -r --skip www.googleapis.com", + "docs-test": "linkinator docs", "predocs-test": "npm run docs" }, "dependencies": { @@ -53,7 +53,7 @@ "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", "jsdoc-baseline": "^0.1.0", - "linkinator": "^1.4.2", + "linkinator": "^1.5.0", "mocha": "^6.1.4", "nyc": "^14.1.1", "power-assert": "^1.6.1", From 2e1a8c6ee86a6b677670a53ae1b2baac608a12b5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 2 Jul 2019 09:23:31 -0700 Subject: [PATCH 192/418] chore: update proto namespaces (#269) --- .../videointelligence/v1/video_intelligence.proto | 1 + .../videointelligence/v1beta1/video_intelligence.proto | 1 + .../videointelligence/v1beta2/video_intelligence.proto | 1 + .../v1p1beta1/video_intelligence.proto | 1 + .../v1p2beta1/video_intelligence.proto | 1 + .../v1p3beta1/video_intelligence.proto | 1 + packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 7 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 3d00a0d616d..ce3d8f8c2d6 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -29,6 +29,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto index 86b5b800c0a..430776bf003 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto @@ -27,6 +27,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index b8666478404..a69c25791e1 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -28,6 +28,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1beta2"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta2"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1beta2"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 626cc35b89a..115f362beb6 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -28,6 +28,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p1beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p1beta1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1p1beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index b1318167e75..0a16e7afd15 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -29,6 +29,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p2beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p2beta1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1p2beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 45059d21d20..e37726e0b1a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -29,6 +29,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p3beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1p3beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f46f1b91284..c8d5d010731 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-19T11:25:13.691761Z", + "updateTime": "2019-07-02T11:53:01.710175Z", "sources": [ { "generator": { "name": "artman", - "version": "0.28.0", - "dockerImage": "googleapis/artman@sha256:6ced5a36b08b82a328c69844e629300d58c14067f25cadab47f52542bdef7daf" + "version": "0.29.3", + "dockerImage": "googleapis/artman@sha256:8900f94a81adaab0238965aa8a7b3648791f4f3a95ee65adc6a56cfcc3753101" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ac13167e31a20314aa05cc9911c95df250880485", - "internalRef": "253867808" + "sha": "5322233f8cbec4d3f8c17feca2507ef27d4a07c9", + "internalRef": "256042411" } }, { From 48f135ddfa39706d92c6bbdea6d90b5ebe3b4dbc Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 22 Jul 2019 22:31:43 -0700 Subject: [PATCH 193/418] chore(deps): drop dependency on through2 (#272) --- .../package.json | 3 +-- .../test/gapic-v1p3beta1.js | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a50f063b2ae..3f2110a5c1d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -57,7 +57,6 @@ "mocha": "^6.1.4", "nyc": "^14.1.1", "power-assert": "^1.6.1", - "prettier": "^1.17.1", - "through2": "^3.0.1" + "prettier": "^1.17.1" } } diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index 03a57cdfe34..070c9584db5 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -15,7 +15,7 @@ 'use strict'; const assert = require('assert'); -const through2 = require('through2'); +const {PassThrough} = require('stream'); const videoIntelligenceModule = require('../src'); @@ -251,13 +251,16 @@ describe('StreamingVideoIntelligenceServiceClient', () => { function mockBidiStreamingGrpcMethod(expectedRequest, response, error) { return () => { - const mockStream = through2.obj((chunk, enc, callback) => { - assert.deepStrictEqual(chunk, expectedRequest); - if (error) { - callback(error); - } else { - callback(null, response); - } + const mockStream = new PassThrough({ + objectMode: true, + transform: (chunk, enc, callback) => { + assert.deepStrictEqual(chunk, expectedRequest); + if (error) { + callback(error); + } else { + callback(null, response); + } + }, }); return mockStream; }; From f65390e459470a49f1ccbae5f0c6970b15a5fb26 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 26 Jul 2019 19:00:09 +0300 Subject: [PATCH 194/418] chore(deps): update linters (#273) --- packages/google-cloud-videointelligence/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3f2110a5c1d..f2482a38065 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,8 +46,8 @@ }, "devDependencies": { "codecov": "^3.4.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^5.0.0", + "eslint": "^6.0.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^9.0.1", "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", From f3aeaef26393c0d2c3fe23d47fbbdef5c639d394 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 31 Jul 2019 08:42:38 -0700 Subject: [PATCH 195/418] docs: use the jsdoc-fresh theme (#275) --- packages/google-cloud-videointelligence/.jsdoc.js | 2 +- packages/google-cloud-videointelligence/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 9e955e5d490..7e0c8251baf 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f2482a38065..c8dae8d27eb 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -52,7 +52,7 @@ "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", - "jsdoc-baseline": "^0.1.0", + "jsdoc-fresh": "^1.0.1", "linkinator": "^1.5.0", "mocha": "^6.1.4", "nyc": "^14.1.1", From 2b2e1481ce9bf82a18e38fcc5d11d4280e5b26d3 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 31 Jul 2019 16:07:09 -0700 Subject: [PATCH 196/418] docs: document apiEndpoint over servicePath (#277) --- .../src/v1/video_intelligence_service_client.js | 2 +- .../src/v1beta1/video_intelligence_service_client.js | 2 +- .../src/v1beta2/video_intelligence_service_client.js | 2 +- .../src/v1p1beta1/video_intelligence_service_client.js | 2 +- .../src/v1p2beta1/video_intelligence_service_client.js | 2 +- .../v1p3beta1/streaming_video_intelligence_service_client.js | 2 +- .../src/v1p3beta1/video_intelligence_service_client.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 9f3b0e238c3..72ffb58cfa5 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index e739080ce7a..f9bd9e90882 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 9a72c51bd4a..04f74d1626f 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 2d3f1d929ae..f3e1b2f7dd5 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 340e62fd5f1..bf9447fc53b 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index b893493efab..08afbbe2a24 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -51,7 +51,7 @@ class StreamingVideoIntelligenceServiceClient { * 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index e013a596e52..834c8254b64 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -52,7 +52,7 @@ class VideoIntelligenceServiceClient { * 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 a566d2292fc338fc64ffbee4dc9f27dcd418c666 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 2 Aug 2019 10:52:59 -0700 Subject: [PATCH 197/418] fix: allow calls with no request, add JSON proto --- .../v1/video_intelligence.proto | 34 +- .../protos/protos.json | 2090 +++++++++++++++++ .../src/service_proto_list.json | 1 + .../v1/doc_video_intelligence.js | 33 +- .../v1/video_intelligence_service_client.js | 1 + .../video_intelligence_service_client.js | 1 + .../video_intelligence_service_client.js | 1 + .../video_intelligence_service_client.js | 1 + .../video_intelligence_service_client.js | 1 + .../video_intelligence_service_client.js | 1 + .../synth.metadata | 10 +- 11 files changed, 2154 insertions(+), 20 deletions(-) create mode 100644 packages/google-cloud-videointelligence/protos/protos.json create mode 100644 packages/google-cloud-videointelligence/src/service_proto_list.json diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index ce3d8f8c2d6..c15351d913a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.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.videointelligence.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -33,6 +34,10 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). @@ -331,11 +336,14 @@ message VideoAnnotationResults { // [Google Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; - // Label annotations on video level or user specified segment level. + // Video segment on which the annotation is run. + VideoSegment segment = 10; + + // Topical label annotations on video level or user specified segment level. // There is exactly one element for each unique label. repeated LabelAnnotation segment_label_annotations = 2; - // Label annotations on shot level. + // Topical label annotations on shot level. // There is exactly one element for each unique label. repeated LabelAnnotation shot_label_annotations = 3; @@ -391,6 +399,14 @@ message VideoAnnotationProgress { // Time of the most recent update. google.protobuf.Timestamp update_time = 4; + + // Specifies which feature is being tracked if the request contains more than + // one features. + Feature feature = 5; + + // Specifies which segment is being tracked if the request contains more than + // one segments. + VideoSegment segment = 6; } // Video annotation progress. Included in the `metadata` @@ -491,15 +507,17 @@ message SpeechRecognitionAlternative { // Transcript text representing the words that the user spoke. string transcript = 1; - // The confidence estimate between 0.0 and 1.0. A higher number + // Output only. The confidence estimate between 0.0 and 1.0. A higher number // indicates an estimated greater likelihood that the recognized words are - // correct. This field is typically provided only for the top hypothesis, and - // only for `is_final=true` results. Clients should not rely on the - // `confidence` field as it is not guaranteed to be accurate or consistent. + // correct. This field is set only for the top alternative. + // This field is not guaranteed to be accurate and users should not rely on it + // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. float confidence = 2; - // A list of word-specific information for each recognized word. + // Output only. A list of word-specific information for each recognized word. + // Note: When `enable_speaker_diarization` is true, you will see all the words + // from the beginning of the audio. repeated WordInfo words = 3; } diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json new file mode 100644 index 00000000000..3d796b52d96 --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -0,0 +1,2090 @@ +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "videointelligence": { + "nested": { + "v1p3beta1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1P3Beta1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1p3beta1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1p3beta1" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p3beta1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "StreamingVideoIntelligenceService": { + "methods": { + "StreamingAnnotateVideo": { + "requestType": "StreamingAnnotateVideoRequest", + "requestStream": true, + "responseType": "StreamingAnnotateVideoResponse", + "responseStream": true + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "speechTranscriptionConfig": { + "type": "SpeechTranscriptionConfig", + "id": 6 + }, + "textDetectionConfig": { + "type": "TextDetectionConfig", + "id": 8 + }, + "objectTrackingConfig": { + "type": "ObjectTrackingConfig", + "id": 13 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + }, + "frameConfidenceThreshold": { + "type": "float", + "id": 4 + }, + "videoConfidenceThreshold": { + "type": "float", + "id": 5 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ObjectTrackingConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "TextDetectionConfig": { + "fields": { + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "model": { + "type": "string", + "id": 2 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "NormalizedBoundingBox": { + "fields": { + "left": { + "type": "float", + "id": 1 + }, + "top": { + "type": "float", + "id": 2 + }, + "right": { + "type": "float", + "id": 3 + }, + "bottom": { + "type": "float", + "id": 4 + } + } + }, + "TimestampedObject": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3 + } + } + }, + "Track": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "timestampedObjects": { + "rule": "repeated", + "type": "TimestampedObject", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "DetectedAttribute": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "value": { + "type": "string", + "id": 3 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "speechTranscriptions": { + "rule": "repeated", + "type": "SpeechTranscription", + "id": 11 + }, + "textAnnotations": { + "rule": "repeated", + "type": "TextAnnotation", + "id": 12 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 14 + }, + "logoRecognitionAnnotations": { + "rule": "repeated", + "type": "LogoRecognitionAnnotation", + "id": 19 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "SpeechTranscriptionConfig": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "maxAlternatives": { + "type": "int32", + "id": 2 + }, + "filterProfanity": { + "type": "bool", + "id": 3 + }, + "speechContexts": { + "rule": "repeated", + "type": "SpeechContext", + "id": 4 + }, + "enableAutomaticPunctuation": { + "type": "bool", + "id": 5 + }, + "audioTracks": { + "rule": "repeated", + "type": "int32", + "id": 6 + }, + "enableSpeakerDiarization": { + "type": "bool", + "id": 7 + }, + "diarizationSpeakerCount": { + "type": "int32", + "id": 8 + }, + "enableWordConfidence": { + "type": "bool", + "id": 9 + } + } + }, + "SpeechContext": { + "fields": { + "phrases": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "SpeechTranscription": { + "fields": { + "alternatives": { + "rule": "repeated", + "type": "SpeechRecognitionAlternative", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + }, + "SpeechRecognitionAlternative": { + "fields": { + "transcript": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "WordInfo", + "id": 3 + } + } + }, + "WordInfo": { + "fields": { + "startTime": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "word": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "speakerTag": { + "type": "int32", + "id": 5 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "TextSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "TextFrame", + "id": 3 + } + } + }, + "TextFrame": { + "fields": { + "rotatedBoundingBox": { + "type": "NormalizedBoundingPoly", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "TextAnnotation": { + "fields": { + "text": { + "type": "string", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "TextSegment", + "id": 2 + } + } + }, + "ObjectTrackingFrame": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "ObjectTrackingAnnotation": { + "oneofs": { + "trackInfo": { + "oneof": [ + "segment", + "trackId" + ] + } + }, + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "frames": { + "rule": "repeated", + "type": "ObjectTrackingFrame", + "id": 2 + }, + "segment": { + "type": "VideoSegment", + "id": 3 + }, + "trackId": { + "type": "int64", + "id": 5 + } + } + }, + "LogoRecognitionAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 3 + } + } + }, + "StreamingAnnotateVideoRequest": { + "oneofs": { + "streamingRequest": { + "oneof": [ + "videoConfig", + "inputContent" + ] + } + }, + "fields": { + "videoConfig": { + "type": "StreamingVideoConfig", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 2 + } + } + }, + "StreamingAnnotateVideoResponse": { + "fields": { + "error": { + "type": "google.rpc.Status", + "id": 1 + }, + "annotationResults": { + "type": "StreamingVideoAnnotationResults", + "id": 2 + }, + "annotationResultsUri": { + "type": "string", + "id": 3 + } + } + }, + "StreamingAutomlClassificationConfig": { + "fields": { + "modelName": { + "type": "string", + "id": 1 + } + } + }, + "StreamingAutomlObjectTrackingConfig": { + "fields": { + "modelName": { + "type": "string", + "id": 1 + } + } + }, + "StreamingExplicitContentDetectionConfig": { + "fields": {} + }, + "StreamingLabelDetectionConfig": { + "fields": { + "stationaryCamera": { + "type": "bool", + "id": 1 + } + } + }, + "StreamingObjectTrackingConfig": { + "fields": {} + }, + "StreamingShotChangeDetectionConfig": { + "fields": {} + }, + "StreamingStorageConfig": { + "fields": { + "enableStorageAnnotationResult": { + "type": "bool", + "id": 1 + }, + "annotationResultStorageDirectory": { + "type": "string", + "id": 3 + } + } + }, + "StreamingVideoAnnotationResults": { + "fields": { + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 3 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 4 + } + } + }, + "StreamingVideoConfig": { + "oneofs": { + "streamingConfig": { + "oneof": [ + "shotChangeDetectionConfig", + "labelDetectionConfig", + "explicitContentDetectionConfig", + "objectTrackingConfig", + "automlClassificationConfig", + "automlObjectTrackingConfig" + ] + } + }, + "fields": { + "feature": { + "type": "StreamingFeature", + "id": 1 + }, + "shotChangeDetectionConfig": { + "type": "StreamingShotChangeDetectionConfig", + "id": 2 + }, + "labelDetectionConfig": { + "type": "StreamingLabelDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "StreamingExplicitContentDetectionConfig", + "id": 4 + }, + "objectTrackingConfig": { + "type": "StreamingObjectTrackingConfig", + "id": 5 + }, + "automlClassificationConfig": { + "type": "StreamingAutomlClassificationConfig", + "id": 21 + }, + "automlObjectTrackingConfig": { + "type": "StreamingAutomlObjectTrackingConfig", + "id": 22 + }, + "storageConfig": { + "type": "StreamingStorageConfig", + "id": 30 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "SPEECH_TRANSCRIPTION": 6, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9, + "LOGO_RECOGNITION": 12 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "StreamingFeature": { + "values": { + "STREAMING_FEATURE_UNSPECIFIED": 0, + "STREAMING_LABEL_DETECTION": 1, + "STREAMING_SHOT_CHANGE_DETECTION": 2, + "STREAMING_EXPLICIT_CONTENT_DETECTION": 3, + "STREAMING_OBJECT_TRACKING": 4, + "STREAMING_AUTOML_CLASSIFICATION": 21, + "STREAMING_AUTOML_OBJECT_TRACKING": 22 + } + } + } + } + } + } + } + }, + "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": {} + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "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 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/service_proto_list.json b/packages/google-cloud-videointelligence/src/service_proto_list.json new file mode 100644 index 00000000000..8630d0ed401 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/service_proto_list.json @@ -0,0 +1 @@ +["../protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto"] \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 2cc725783c7..4675af05caa 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -507,14 +507,19 @@ const FaceAnnotation = { * Video file location in * [Google Cloud Storage](https://cloud.google.com/storage/). * + * @property {Object} segment + * Video segment on which the annotation is run. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * * @property {Object[]} segmentLabelAnnotations - * Label annotations on video level or user specified segment level. + * Topical label annotations on video level or user specified segment level. * There is exactly one element for each unique label. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} * * @property {Object[]} shotLabelAnnotations - * Label annotations on shot level. + * Topical label annotations on shot level. * There is exactly one element for each unique label. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} @@ -610,6 +615,18 @@ const AnnotateVideoResponse = { * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * + * @property {number} feature + * Specifies which feature is being tracked if the request contains more than + * one features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} + * + * @property {Object} segment + * Specifies which segment is being tracked if the request contains more than + * one segments. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} + * * @typedef VideoAnnotationProgress * @memberof google.cloud.videointelligence.v1 * @see [google.cloud.videointelligence.v1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} @@ -756,15 +773,17 @@ const SpeechTranscription = { * Transcript text representing the words that the user spoke. * * @property {number} confidence - * The confidence estimate between 0.0 and 1.0. A higher number + * Output only. The confidence estimate between 0.0 and 1.0. A higher number * indicates an estimated greater likelihood that the recognized words are - * correct. This field is typically provided only for the top hypothesis, and - * only for `is_final=true` results. Clients should not rely on the - * `confidence` field as it is not guaranteed to be accurate or consistent. + * correct. This field is set only for the top alternative. + * This field is not guaranteed to be accurate and users should not rely on it + * to be always provided. * The default of 0.0 is a sentinel value indicating `confidence` was not set. * * @property {Object[]} words - * A list of word-specific information for each recognized word. + * Output only. A list of word-specific information for each recognized word. + * Note: When `enable_speaker_diarization` is true, you will see all the words + * from the beginning of the audio. * * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1.WordInfo} * diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 72ffb58cfa5..594ee64fe79 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -354,6 +354,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index f9bd9e90882..70f5c659cf4 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -353,6 +353,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 04f74d1626f..d944b5b4606 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -354,6 +354,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index f3e1b2f7dd5..8488b5bc3e9 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -354,6 +354,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index bf9447fc53b..a2aee93318d 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -354,6 +354,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 834c8254b64..9c783efb698 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -354,6 +354,7 @@ class VideoIntelligenceServiceClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.annotateVideo(request, options, callback); diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c8d5d010731..61fce9be8f5 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-07-02T11:53:01.710175Z", + "updateTime": "2019-08-02T11:30:22.657Z", "sources": [ { "generator": { "name": "artman", - "version": "0.29.3", - "dockerImage": "googleapis/artman@sha256:8900f94a81adaab0238965aa8a7b3648791f4f3a95ee65adc6a56cfcc3753101" + "version": "0.32.0", + "dockerImage": "googleapis/artman@sha256:6929f343c400122d85818195b18613330a12a014bffc1e08499550d40571479d" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "5322233f8cbec4d3f8c17feca2507ef27d4a07c9", - "internalRef": "256042411" + "sha": "3a40d3a5f5e5a33fd49888a8a33ed021f65c0ccf", + "internalRef": "261297518" } }, { From b5b9076c6f96359633c7c93d14cf62910a17b1a0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 5 Aug 2019 10:04:25 -0700 Subject: [PATCH 198/418] chore: release 2.2.2 (#280) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 7e7beaf7a10..83eaf5fcaed 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.2.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.1...v2.2.2) (2019-08-05) + + +### Bug Fixes + +* allow calls with no request, add JSON proto ([8fb7221](https://www.github.com/googleapis/nodejs-video-intelligence/commit/8fb7221)) + ### [2.2.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.0...v2.2.1) (2019-06-26) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index c8dae8d27eb..898d2d603a3 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.2.1", + "version": "2.2.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 5c86bf08f7a..f57e9858555 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.2.1", + "@google-cloud/video-intelligence": "^2.2.2", "yargs": "^13.0.0" }, "devDependencies": { From 2124a87276cb923938d1b4bf9dbe9e07add3d3da Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Aug 2019 20:23:28 +0300 Subject: [PATCH 199/418] fix(deps): update dependency yargs to v14 --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f57e9858555..facbf7922bd 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@google-cloud/video-intelligence": "^2.2.2", - "yargs": "^13.0.0" + "yargs": "^14.0.0" }, "devDependencies": { "chai": "^4.2.0", From e507f3152093939eaaa1127f2705a74102466d65 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 3 Sep 2019 14:36:30 -0700 Subject: [PATCH 200/418] feat: segment and shot label annotations support (#281) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * fixes --- .../v1/video_intelligence.proto | 10 + .../protos/protos.json | 2091 +---------------- .../src/service_proto_list.json | 1 - .../v1/doc_video_intelligence.js | 14 + .../synth.metadata | 10 +- .../google-cloud-videointelligence/synth.py | 1 + 6 files changed, 31 insertions(+), 2096 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/src/service_proto_list.json diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index c15351d913a..4c7a0ad131a 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -343,10 +343,20 @@ message VideoAnnotationResults { // There is exactly one element for each unique label. repeated LabelAnnotation segment_label_annotations = 2; + // Presence label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. This will eventually + // get publicly exposed and the restriction will be removed. + repeated LabelAnnotation segment_presence_label_annotations = 23; + // Topical label annotations on shot level. // There is exactly one element for each unique label. repeated LabelAnnotation shot_label_annotations = 3; + // Presence label annotations on shot level. There is exactly one element for + // each unique label. This will eventually get publicly exposed and the + // restriction will be removed. + repeated LabelAnnotation shot_presence_label_annotations = 24; + // Label annotations on frame level. // There is exactly one element for each unique label. repeated LabelAnnotation frame_label_annotations = 4; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 3d796b52d96..9e26dfeeb6e 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -1,2090 +1 @@ -{ - "nested": { - "google": { - "nested": { - "cloud": { - "nested": { - "videointelligence": { - "nested": { - "v1p3beta1": { - "options": { - "csharp_namespace": "Google.Cloud.VideoIntelligence.V1P3Beta1", - "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1;videointelligence", - "java_multiple_files": true, - "java_outer_classname": "VideoIntelligenceServiceProto", - "java_package": "com.google.cloud.videointelligence.v1p3beta1", - "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1", - "ruby_package": "Google::Cloud::VideoIntelligence::V1p3beta1" - }, - "nested": { - "VideoIntelligenceService": { - "methods": { - "AnnotateVideo": { - "requestType": "AnnotateVideoRequest", - "responseType": "google.longrunning.Operation", - "options": { - "(google.api.http).post": "/v1p3beta1/videos:annotate", - "(google.api.http).body": "*" - } - } - } - }, - "StreamingVideoIntelligenceService": { - "methods": { - "StreamingAnnotateVideo": { - "requestType": "StreamingAnnotateVideoRequest", - "requestStream": true, - "responseType": "StreamingAnnotateVideoResponse", - "responseStream": true - } - } - }, - "AnnotateVideoRequest": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "inputContent": { - "type": "bytes", - "id": 6 - }, - "features": { - "rule": "repeated", - "type": "Feature", - "id": 2 - }, - "videoContext": { - "type": "VideoContext", - "id": 3 - }, - "outputUri": { - "type": "string", - "id": 4 - }, - "locationId": { - "type": "string", - "id": 5 - } - } - }, - "VideoContext": { - "fields": { - "segments": { - "rule": "repeated", - "type": "VideoSegment", - "id": 1 - }, - "labelDetectionConfig": { - "type": "LabelDetectionConfig", - "id": 2 - }, - "shotChangeDetectionConfig": { - "type": "ShotChangeDetectionConfig", - "id": 3 - }, - "explicitContentDetectionConfig": { - "type": "ExplicitContentDetectionConfig", - "id": 4 - }, - "speechTranscriptionConfig": { - "type": "SpeechTranscriptionConfig", - "id": 6 - }, - "textDetectionConfig": { - "type": "TextDetectionConfig", - "id": 8 - }, - "objectTrackingConfig": { - "type": "ObjectTrackingConfig", - "id": 13 - } - } - }, - "LabelDetectionConfig": { - "fields": { - "labelDetectionMode": { - "type": "LabelDetectionMode", - "id": 1 - }, - "stationaryCamera": { - "type": "bool", - "id": 2 - }, - "model": { - "type": "string", - "id": 3 - }, - "frameConfidenceThreshold": { - "type": "float", - "id": 4 - }, - "videoConfidenceThreshold": { - "type": "float", - "id": 5 - } - } - }, - "ShotChangeDetectionConfig": { - "fields": { - "model": { - "type": "string", - "id": 1 - } - } - }, - "ObjectTrackingConfig": { - "fields": { - "model": { - "type": "string", - "id": 1 - } - } - }, - "ExplicitContentDetectionConfig": { - "fields": { - "model": { - "type": "string", - "id": 1 - } - } - }, - "TextDetectionConfig": { - "fields": { - "languageHints": { - "rule": "repeated", - "type": "string", - "id": 1 - }, - "model": { - "type": "string", - "id": 2 - } - } - }, - "VideoSegment": { - "fields": { - "startTimeOffset": { - "type": "google.protobuf.Duration", - "id": 1 - }, - "endTimeOffset": { - "type": "google.protobuf.Duration", - "id": 2 - } - } - }, - "LabelSegment": { - "fields": { - "segment": { - "type": "VideoSegment", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - } - } - }, - "LabelFrame": { - "fields": { - "timeOffset": { - "type": "google.protobuf.Duration", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - } - } - }, - "Entity": { - "fields": { - "entityId": { - "type": "string", - "id": 1 - }, - "description": { - "type": "string", - "id": 2 - }, - "languageCode": { - "type": "string", - "id": 3 - } - } - }, - "LabelAnnotation": { - "fields": { - "entity": { - "type": "Entity", - "id": 1 - }, - "categoryEntities": { - "rule": "repeated", - "type": "Entity", - "id": 2 - }, - "segments": { - "rule": "repeated", - "type": "LabelSegment", - "id": 3 - }, - "frames": { - "rule": "repeated", - "type": "LabelFrame", - "id": 4 - } - } - }, - "ExplicitContentFrame": { - "fields": { - "timeOffset": { - "type": "google.protobuf.Duration", - "id": 1 - }, - "pornographyLikelihood": { - "type": "Likelihood", - "id": 2 - } - } - }, - "ExplicitContentAnnotation": { - "fields": { - "frames": { - "rule": "repeated", - "type": "ExplicitContentFrame", - "id": 1 - } - } - }, - "NormalizedBoundingBox": { - "fields": { - "left": { - "type": "float", - "id": 1 - }, - "top": { - "type": "float", - "id": 2 - }, - "right": { - "type": "float", - "id": 3 - }, - "bottom": { - "type": "float", - "id": 4 - } - } - }, - "TimestampedObject": { - "fields": { - "normalizedBoundingBox": { - "type": "NormalizedBoundingBox", - "id": 1 - }, - "timeOffset": { - "type": "google.protobuf.Duration", - "id": 2 - }, - "attributes": { - "rule": "repeated", - "type": "DetectedAttribute", - "id": 3 - } - } - }, - "Track": { - "fields": { - "segment": { - "type": "VideoSegment", - "id": 1 - }, - "timestampedObjects": { - "rule": "repeated", - "type": "TimestampedObject", - "id": 2 - }, - "attributes": { - "rule": "repeated", - "type": "DetectedAttribute", - "id": 3 - }, - "confidence": { - "type": "float", - "id": 4 - } - } - }, - "DetectedAttribute": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - }, - "value": { - "type": "string", - "id": 3 - } - } - }, - "VideoAnnotationResults": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "segmentLabelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 2 - }, - "shotLabelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 3 - }, - "frameLabelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 4 - }, - "shotAnnotations": { - "rule": "repeated", - "type": "VideoSegment", - "id": 6 - }, - "explicitAnnotation": { - "type": "ExplicitContentAnnotation", - "id": 7 - }, - "speechTranscriptions": { - "rule": "repeated", - "type": "SpeechTranscription", - "id": 11 - }, - "textAnnotations": { - "rule": "repeated", - "type": "TextAnnotation", - "id": 12 - }, - "objectAnnotations": { - "rule": "repeated", - "type": "ObjectTrackingAnnotation", - "id": 14 - }, - "logoRecognitionAnnotations": { - "rule": "repeated", - "type": "LogoRecognitionAnnotation", - "id": 19 - }, - "error": { - "type": "google.rpc.Status", - "id": 9 - } - } - }, - "AnnotateVideoResponse": { - "fields": { - "annotationResults": { - "rule": "repeated", - "type": "VideoAnnotationResults", - "id": 1 - } - } - }, - "VideoAnnotationProgress": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "progressPercent": { - "type": "int32", - "id": 2 - }, - "startTime": { - "type": "google.protobuf.Timestamp", - "id": 3 - }, - "updateTime": { - "type": "google.protobuf.Timestamp", - "id": 4 - } - } - }, - "AnnotateVideoProgress": { - "fields": { - "annotationProgress": { - "rule": "repeated", - "type": "VideoAnnotationProgress", - "id": 1 - } - } - }, - "SpeechTranscriptionConfig": { - "fields": { - "languageCode": { - "type": "string", - "id": 1 - }, - "maxAlternatives": { - "type": "int32", - "id": 2 - }, - "filterProfanity": { - "type": "bool", - "id": 3 - }, - "speechContexts": { - "rule": "repeated", - "type": "SpeechContext", - "id": 4 - }, - "enableAutomaticPunctuation": { - "type": "bool", - "id": 5 - }, - "audioTracks": { - "rule": "repeated", - "type": "int32", - "id": 6 - }, - "enableSpeakerDiarization": { - "type": "bool", - "id": 7 - }, - "diarizationSpeakerCount": { - "type": "int32", - "id": 8 - }, - "enableWordConfidence": { - "type": "bool", - "id": 9 - } - } - }, - "SpeechContext": { - "fields": { - "phrases": { - "rule": "repeated", - "type": "string", - "id": 1 - } - } - }, - "SpeechTranscription": { - "fields": { - "alternatives": { - "rule": "repeated", - "type": "SpeechRecognitionAlternative", - "id": 1 - }, - "languageCode": { - "type": "string", - "id": 2 - } - } - }, - "SpeechRecognitionAlternative": { - "fields": { - "transcript": { - "type": "string", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - }, - "words": { - "rule": "repeated", - "type": "WordInfo", - "id": 3 - } - } - }, - "WordInfo": { - "fields": { - "startTime": { - "type": "google.protobuf.Duration", - "id": 1 - }, - "endTime": { - "type": "google.protobuf.Duration", - "id": 2 - }, - "word": { - "type": "string", - "id": 3 - }, - "confidence": { - "type": "float", - "id": 4 - }, - "speakerTag": { - "type": "int32", - "id": 5 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "NormalizedBoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 1 - } - } - }, - "TextSegment": { - "fields": { - "segment": { - "type": "VideoSegment", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - }, - "frames": { - "rule": "repeated", - "type": "TextFrame", - "id": 3 - } - } - }, - "TextFrame": { - "fields": { - "rotatedBoundingBox": { - "type": "NormalizedBoundingPoly", - "id": 1 - }, - "timeOffset": { - "type": "google.protobuf.Duration", - "id": 2 - } - } - }, - "TextAnnotation": { - "fields": { - "text": { - "type": "string", - "id": 1 - }, - "segments": { - "rule": "repeated", - "type": "TextSegment", - "id": 2 - } - } - }, - "ObjectTrackingFrame": { - "fields": { - "normalizedBoundingBox": { - "type": "NormalizedBoundingBox", - "id": 1 - }, - "timeOffset": { - "type": "google.protobuf.Duration", - "id": 2 - } - } - }, - "ObjectTrackingAnnotation": { - "oneofs": { - "trackInfo": { - "oneof": [ - "segment", - "trackId" - ] - } - }, - "fields": { - "entity": { - "type": "Entity", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 4 - }, - "frames": { - "rule": "repeated", - "type": "ObjectTrackingFrame", - "id": 2 - }, - "segment": { - "type": "VideoSegment", - "id": 3 - }, - "trackId": { - "type": "int64", - "id": 5 - } - } - }, - "LogoRecognitionAnnotation": { - "fields": { - "entity": { - "type": "Entity", - "id": 1 - }, - "tracks": { - "rule": "repeated", - "type": "Track", - "id": 2 - }, - "segments": { - "rule": "repeated", - "type": "VideoSegment", - "id": 3 - } - } - }, - "StreamingAnnotateVideoRequest": { - "oneofs": { - "streamingRequest": { - "oneof": [ - "videoConfig", - "inputContent" - ] - } - }, - "fields": { - "videoConfig": { - "type": "StreamingVideoConfig", - "id": 1 - }, - "inputContent": { - "type": "bytes", - "id": 2 - } - } - }, - "StreamingAnnotateVideoResponse": { - "fields": { - "error": { - "type": "google.rpc.Status", - "id": 1 - }, - "annotationResults": { - "type": "StreamingVideoAnnotationResults", - "id": 2 - }, - "annotationResultsUri": { - "type": "string", - "id": 3 - } - } - }, - "StreamingAutomlClassificationConfig": { - "fields": { - "modelName": { - "type": "string", - "id": 1 - } - } - }, - "StreamingAutomlObjectTrackingConfig": { - "fields": { - "modelName": { - "type": "string", - "id": 1 - } - } - }, - "StreamingExplicitContentDetectionConfig": { - "fields": {} - }, - "StreamingLabelDetectionConfig": { - "fields": { - "stationaryCamera": { - "type": "bool", - "id": 1 - } - } - }, - "StreamingObjectTrackingConfig": { - "fields": {} - }, - "StreamingShotChangeDetectionConfig": { - "fields": {} - }, - "StreamingStorageConfig": { - "fields": { - "enableStorageAnnotationResult": { - "type": "bool", - "id": 1 - }, - "annotationResultStorageDirectory": { - "type": "string", - "id": 3 - } - } - }, - "StreamingVideoAnnotationResults": { - "fields": { - "shotAnnotations": { - "rule": "repeated", - "type": "VideoSegment", - "id": 1 - }, - "labelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 2 - }, - "explicitAnnotation": { - "type": "ExplicitContentAnnotation", - "id": 3 - }, - "objectAnnotations": { - "rule": "repeated", - "type": "ObjectTrackingAnnotation", - "id": 4 - } - } - }, - "StreamingVideoConfig": { - "oneofs": { - "streamingConfig": { - "oneof": [ - "shotChangeDetectionConfig", - "labelDetectionConfig", - "explicitContentDetectionConfig", - "objectTrackingConfig", - "automlClassificationConfig", - "automlObjectTrackingConfig" - ] - } - }, - "fields": { - "feature": { - "type": "StreamingFeature", - "id": 1 - }, - "shotChangeDetectionConfig": { - "type": "StreamingShotChangeDetectionConfig", - "id": 2 - }, - "labelDetectionConfig": { - "type": "StreamingLabelDetectionConfig", - "id": 3 - }, - "explicitContentDetectionConfig": { - "type": "StreamingExplicitContentDetectionConfig", - "id": 4 - }, - "objectTrackingConfig": { - "type": "StreamingObjectTrackingConfig", - "id": 5 - }, - "automlClassificationConfig": { - "type": "StreamingAutomlClassificationConfig", - "id": 21 - }, - "automlObjectTrackingConfig": { - "type": "StreamingAutomlObjectTrackingConfig", - "id": 22 - }, - "storageConfig": { - "type": "StreamingStorageConfig", - "id": 30 - } - } - }, - "Feature": { - "values": { - "FEATURE_UNSPECIFIED": 0, - "LABEL_DETECTION": 1, - "SHOT_CHANGE_DETECTION": 2, - "EXPLICIT_CONTENT_DETECTION": 3, - "SPEECH_TRANSCRIPTION": 6, - "TEXT_DETECTION": 7, - "OBJECT_TRACKING": 9, - "LOGO_RECOGNITION": 12 - } - }, - "LabelDetectionMode": { - "values": { - "LABEL_DETECTION_MODE_UNSPECIFIED": 0, - "SHOT_MODE": 1, - "FRAME_MODE": 2, - "SHOT_AND_FRAME_MODE": 3 - } - }, - "Likelihood": { - "values": { - "LIKELIHOOD_UNSPECIFIED": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - }, - "StreamingFeature": { - "values": { - "STREAMING_FEATURE_UNSPECIFIED": 0, - "STREAMING_LABEL_DETECTION": 1, - "STREAMING_SHOT_CHANGE_DETECTION": 2, - "STREAMING_EXPLICIT_CONTENT_DETECTION": 3, - "STREAMING_OBJECT_TRACKING": 4, - "STREAMING_AUTOML_CLASSIFICATION": 21, - "STREAMING_AUTOML_OBJECT_TRACKING": 22 - } - } - } - } - } - } - } - }, - "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": {} - }, - "Timestamp": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "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 - } - } - } - } - } - } - } - } -} \ No newline at end of file +{} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/service_proto_list.json b/packages/google-cloud-videointelligence/src/service_proto_list.json deleted file mode 100644 index 8630d0ed401..00000000000 --- a/packages/google-cloud-videointelligence/src/service_proto_list.json +++ /dev/null @@ -1 +0,0 @@ -["../protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto"] \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 4675af05caa..87929885baa 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -518,12 +518,26 @@ const FaceAnnotation = { * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} * + * @property {Object[]} segmentPresenceLabelAnnotations + * Presence label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. This will eventually + * get publicly exposed and the restriction will be removed. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} + * * @property {Object[]} shotLabelAnnotations * Topical label annotations on shot level. * There is exactly one element for each unique label. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} * + * @property {Object[]} shotPresenceLabelAnnotations + * Presence label annotations on shot level. There is exactly one element for + * each unique label. This will eventually get publicly exposed and the + * restriction will be removed. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} + * * @property {Object[]} frameLabelAnnotations * Label annotations on frame level. * There is exactly one element for each unique label. diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 61fce9be8f5..4e30adba5fc 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-02T11:30:22.657Z", + "updateTime": "2019-08-07T11:29:13.523044Z", "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-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 5d0fe807283..b3782bc6824 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -34,3 +34,4 @@ # Node.js specific cleanup subprocess.run(["npm", "install"]) subprocess.run(["npm", "run", "fix"]) +subprocess.run(['npx', 'compileProtos', 'src']) From 6726b867b11829a28ec8b7eb8930e1f6bd0a9549 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 5 Sep 2019 22:47:50 +0300 Subject: [PATCH 201/418] chore(deps): update dependency eslint-plugin-node to v10 (#287) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 898d2d603a3..2bc7212215b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -48,7 +48,7 @@ "codecov": "^3.4.0", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", - "eslint-plugin-node": "^9.0.1", + "eslint-plugin-node": "^10.0.0", "eslint-plugin-prettier": "^3.1.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", From cf64325446dcc012ee41116d700fd911344f9e40 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Sep 2019 18:40:49 -0400 Subject: [PATCH 202/418] update .nycrc ignore rules (#288) --- packages/google-cloud-videointelligence/.nycrc | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index 83a421a0628..23e322204ec 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -6,6 +6,7 @@ "**/.coverage", "**/apis", "**/benchmark", + "**/conformance", "**/docs", "**/samples", "**/scripts", From ef44d589e46b5e18285499d689c0eb27a0a409b3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 9 Sep 2019 11:56:33 -0700 Subject: [PATCH 203/418] feat: load protos from JSON, grpc-fallback support (#286) --- .../google-cloud-videointelligence/README.md | 4 +- .../protos/protos.json | 4327 ++++++++++++++++- .../src/browser.js | 21 + .../v1/video_intelligence_service_client.js | 91 +- ...video_intelligence_service_proto_list.json | 3 + .../video_intelligence_service_client.js | 92 +- ...video_intelligence_service_proto_list.json | 3 + .../video_intelligence_service_client.js | 92 +- ...video_intelligence_service_proto_list.json | 3 + .../video_intelligence_service_client.js | 92 +- ...video_intelligence_service_proto_list.json | 3 + .../video_intelligence_service_client.js | 92 +- ...video_intelligence_service_proto_list.json | 3 + ...aming_video_intelligence_service_client.js | 75 +- ...video_intelligence_service_proto_list.json | 3 + .../video_intelligence_service_client.js | 92 +- ...video_intelligence_service_proto_list.json | 3 + .../synth.metadata | 10 +- .../test/gapic-v1.js | 7 + .../test/gapic-v1beta1.js | 7 + .../test/gapic-v1beta2.js | 7 + .../test/gapic-v1p1beta1.js | 7 + .../test/gapic-v1p2beta1.js | 7 + .../test/gapic-v1p3beta1.js | 14 + .../webpack.config.js | 46 + 25 files changed, 4855 insertions(+), 249 deletions(-) create mode 100644 packages/google-cloud-videointelligence/src/browser.js create mode 100644 packages/google-cloud-videointelligence/src/v1/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_proto_list.json create mode 100644 packages/google-cloud-videointelligence/webpack.config.js diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index f1c4a2a7e50..7adfdc64332 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -160,12 +160,10 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/video/latest#reference +[client-docs]: https://googleapis.dev/nodejs/video/latest [product-docs]: https://cloud.google.com/video-intelligence [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=videointelligence.googleapis.com [auth]: https://cloud.google.com/docs/authentication/getting-started - - diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 9e26dfeeb6e..892442cb9bc 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -1 +1,4326 @@ -{} \ No newline at end of file +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "videointelligence": { + "nested": { + "v1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1" + }, + "nested": { + "VideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "faceDetectionConfig": { + "type": "FaceDetectionConfig", + "id": 5 + }, + "speechTranscriptionConfig": { + "type": "SpeechTranscriptionConfig", + "id": 6 + }, + "textDetectionConfig": { + "type": "TextDetectionConfig", + "id": 8 + }, + "objectTrackingConfig": { + "type": "ObjectTrackingConfig", + "id": 13 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + }, + "frameConfidenceThreshold": { + "type": "float", + "id": 4 + }, + "videoConfidenceThreshold": { + "type": "float", + "id": 5 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "FaceDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + }, + "includeBoundingBoxes": { + "type": "bool", + "id": 2 + } + } + }, + "ObjectTrackingConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "TextDetectionConfig": { + "fields": { + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "model": { + "type": "string", + "id": 2 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "NormalizedBoundingBox": { + "fields": { + "left": { + "type": "float", + "id": 1 + }, + "top": { + "type": "float", + "id": 2 + }, + "right": { + "type": "float", + "id": 3 + }, + "bottom": { + "type": "float", + "id": 4 + } + } + }, + "FaceSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + } + } + }, + "FaceFrame": { + "fields": { + "normalizedBoundingBoxes": { + "rule": "repeated", + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "thumbnail": { + "type": "bytes", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "FaceSegment", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "FaceFrame", + "id": 3 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segment": { + "type": "VideoSegment", + "id": 10 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "segmentPresenceLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 23 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "shotPresenceLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 24 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 5 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "speechTranscriptions": { + "rule": "repeated", + "type": "SpeechTranscription", + "id": 11 + }, + "textAnnotations": { + "rule": "repeated", + "type": "TextAnnotation", + "id": 12 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + }, + "feature": { + "type": "Feature", + "id": 5 + }, + "segment": { + "type": "VideoSegment", + "id": 6 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "SpeechTranscriptionConfig": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "maxAlternatives": { + "type": "int32", + "id": 2 + }, + "filterProfanity": { + "type": "bool", + "id": 3 + }, + "speechContexts": { + "rule": "repeated", + "type": "SpeechContext", + "id": 4 + }, + "enableAutomaticPunctuation": { + "type": "bool", + "id": 5 + }, + "audioTracks": { + "rule": "repeated", + "type": "int32", + "id": 6 + }, + "enableSpeakerDiarization": { + "type": "bool", + "id": 7 + }, + "diarizationSpeakerCount": { + "type": "int32", + "id": 8 + }, + "enableWordConfidence": { + "type": "bool", + "id": 9 + } + } + }, + "SpeechContext": { + "fields": { + "phrases": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "SpeechTranscription": { + "fields": { + "alternatives": { + "rule": "repeated", + "type": "SpeechRecognitionAlternative", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + }, + "SpeechRecognitionAlternative": { + "fields": { + "transcript": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "WordInfo", + "id": 3 + } + } + }, + "WordInfo": { + "fields": { + "startTime": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "word": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "speakerTag": { + "type": "int32", + "id": 5 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "TextSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "TextFrame", + "id": 3 + } + } + }, + "TextFrame": { + "fields": { + "rotatedBoundingBox": { + "type": "NormalizedBoundingPoly", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "TextAnnotation": { + "fields": { + "text": { + "type": "string", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "TextSegment", + "id": 2 + } + } + }, + "ObjectTrackingFrame": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "ObjectTrackingAnnotation": { + "oneofs": { + "trackInfo": { + "oneof": [ + "segment", + "trackId" + ] + } + }, + "fields": { + "segment": { + "type": "VideoSegment", + "id": 3 + }, + "trackId": { + "type": "int64", + "id": 5 + }, + "entity": { + "type": "Entity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "frames": { + "rule": "repeated", + "type": "ObjectTrackingFrame", + "id": 2 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4, + "SPEECH_TRANSCRIPTION": 6, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + } + } + }, + "v1beta1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1Beta1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1beta1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1beta1" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "string", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 2 + }, + "stationaryCamera": { + "type": "bool", + "id": 3 + }, + "labelDetectionModel": { + "type": "string", + "id": 4 + }, + "faceDetectionModel": { + "type": "string", + "id": 5 + }, + "shotChangeDetectionModel": { + "type": "string", + "id": 6 + }, + "safeSearchDetectionModel": { + "type": "string", + "id": 7 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "int64", + "id": 1 + }, + "endTimeOffset": { + "type": "int64", + "id": 2 + } + } + }, + "LabelLocation": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "level": { + "type": "LabelLevel", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "description": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "locations": { + "rule": "repeated", + "type": "LabelLocation", + "id": 3 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violent": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 5 + }, + "timeOffset": { + "type": "int64", + "id": 6 + } + } + }, + "BoundingBox": { + "fields": { + "left": { + "type": "int32", + "id": 1 + }, + "right": { + "type": "int32", + "id": 2 + }, + "bottom": { + "type": "int32", + "id": 3 + }, + "top": { + "type": "int32", + "id": 4 + } + } + }, + "FaceLocation": { + "fields": { + "boundingBox": { + "type": "BoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "int64", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "thumbnail": { + "type": "string", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 2 + }, + "locations": { + "rule": "repeated", + "type": "FaceLocation", + "id": 3 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 3 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 4 + }, + "safeSearchAnnotations": { + "rule": "repeated", + "type": "SafeSearchAnnotation", + "id": 6 + }, + "error": { + "type": "google.rpc.Status", + "id": 5 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "FACE_DETECTION": 2, + "SHOT_CHANGE_DETECTION": 3, + "SAFE_SEARCH_DETECTION": 4 + } + }, + "LabelLevel": { + "values": { + "LABEL_LEVEL_UNSPECIFIED": 0, + "VIDEO_LEVEL": 1, + "SEGMENT_LEVEL": 2, + "SHOT_LEVEL": 3, + "FRAME_LEVEL": 4 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + } + } + }, + "v1beta2": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1Beta2", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1beta2", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1beta2", + "ruby_package": "Google::Cloud::VideoIntelligence::V1beta2" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta2/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "faceDetectionConfig": { + "type": "FaceDetectionConfig", + "id": 5 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "FaceDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + }, + "includeBoundingBoxes": { + "type": "bool", + "id": 2 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "NormalizedBoundingBox": { + "fields": { + "left": { + "type": "float", + "id": 1 + }, + "top": { + "type": "float", + "id": 2 + }, + "right": { + "type": "float", + "id": 3 + }, + "bottom": { + "type": "float", + "id": 4 + } + } + }, + "FaceSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + } + } + }, + "FaceFrame": { + "fields": { + "normalizedBoundingBoxes": { + "rule": "repeated", + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "thumbnail": { + "type": "bytes", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "FaceSegment", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "FaceFrame", + "id": 3 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 5 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + } + } + }, + "v1p1beta1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1P1Beta1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p1beta1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1p1beta1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p1beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1p1beta1" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p1beta1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "speechTranscriptionConfig": { + "type": "SpeechTranscriptionConfig", + "id": 6 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "speechTranscriptions": { + "rule": "repeated", + "type": "SpeechTranscription", + "id": 11 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "SpeechTranscriptionConfig": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "maxAlternatives": { + "type": "int32", + "id": 2 + }, + "filterProfanity": { + "type": "bool", + "id": 3 + }, + "speechContexts": { + "rule": "repeated", + "type": "SpeechContext", + "id": 4 + }, + "enableAutomaticPunctuation": { + "type": "bool", + "id": 5 + }, + "audioTracks": { + "rule": "repeated", + "type": "int32", + "id": 6 + } + } + }, + "SpeechContext": { + "fields": { + "phrases": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "SpeechTranscription": { + "fields": { + "alternatives": { + "rule": "repeated", + "type": "SpeechRecognitionAlternative", + "id": 1 + } + } + }, + "SpeechRecognitionAlternative": { + "fields": { + "transcript": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "WordInfo", + "id": 3 + } + } + }, + "WordInfo": { + "fields": { + "startTime": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "word": { + "type": "string", + "id": 3 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "SPEECH_TRANSCRIPTION": 6 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + } + } + }, + "v1p2beta1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1P2Beta1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p2beta1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1p2beta1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p2beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1p2beta1" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p2beta1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "textDetectionConfig": { + "type": "TextDetectionConfig", + "id": 8 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "TextDetectionConfig": { + "fields": { + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "NormalizedBoundingBox": { + "fields": { + "left": { + "type": "float", + "id": 1 + }, + "top": { + "type": "float", + "id": 2 + }, + "right": { + "type": "float", + "id": 3 + }, + "bottom": { + "type": "float", + "id": 4 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "textAnnotations": { + "rule": "repeated", + "type": "TextAnnotation", + "id": 12 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "TextSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "TextFrame", + "id": 3 + } + } + }, + "TextFrame": { + "fields": { + "rotatedBoundingBox": { + "type": "NormalizedBoundingPoly", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "TextAnnotation": { + "fields": { + "text": { + "type": "string", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "TextSegment", + "id": 2 + } + } + }, + "ObjectTrackingFrame": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "ObjectTrackingAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "frames": { + "rule": "repeated", + "type": "ObjectTrackingFrame", + "id": 2 + }, + "segment": { + "type": "VideoSegment", + "id": 3 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + } + } + }, + "v1p3beta1": { + "options": { + "csharp_namespace": "Google.Cloud.VideoIntelligence.V1P3Beta1", + "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1;videointelligence", + "java_multiple_files": true, + "java_outer_classname": "VideoIntelligenceServiceProto", + "java_package": "com.google.cloud.videointelligence.v1p3beta1", + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1p3beta1" + }, + "nested": { + "VideoIntelligenceService": { + "methods": { + "AnnotateVideo": { + "requestType": "AnnotateVideoRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p3beta1/videos:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "StreamingVideoIntelligenceService": { + "methods": { + "StreamingAnnotateVideo": { + "requestType": "StreamingAnnotateVideoRequest", + "requestStream": true, + "responseType": "StreamingAnnotateVideoResponse", + "responseStream": true + } + } + }, + "AnnotateVideoRequest": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 6 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "videoContext": { + "type": "VideoContext", + "id": 3 + }, + "outputUri": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "string", + "id": 5 + } + } + }, + "VideoContext": { + "fields": { + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelDetectionConfig": { + "type": "LabelDetectionConfig", + "id": 2 + }, + "shotChangeDetectionConfig": { + "type": "ShotChangeDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "ExplicitContentDetectionConfig", + "id": 4 + }, + "speechTranscriptionConfig": { + "type": "SpeechTranscriptionConfig", + "id": 6 + }, + "textDetectionConfig": { + "type": "TextDetectionConfig", + "id": 8 + }, + "objectTrackingConfig": { + "type": "ObjectTrackingConfig", + "id": 13 + } + } + }, + "LabelDetectionConfig": { + "fields": { + "labelDetectionMode": { + "type": "LabelDetectionMode", + "id": 1 + }, + "stationaryCamera": { + "type": "bool", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + }, + "frameConfidenceThreshold": { + "type": "float", + "id": 4 + }, + "videoConfidenceThreshold": { + "type": "float", + "id": 5 + } + } + }, + "ShotChangeDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ObjectTrackingConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "ExplicitContentDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + } + } + }, + "TextDetectionConfig": { + "fields": { + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "model": { + "type": "string", + "id": 2 + } + } + }, + "VideoSegment": { + "fields": { + "startTimeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTimeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "LabelSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "LabelFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Entity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + } + } + }, + "LabelAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "categoryEntities": { + "rule": "repeated", + "type": "Entity", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "LabelSegment", + "id": 3 + }, + "frames": { + "rule": "repeated", + "type": "LabelFrame", + "id": 4 + } + } + }, + "ExplicitContentFrame": { + "fields": { + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pornographyLikelihood": { + "type": "Likelihood", + "id": 2 + } + } + }, + "ExplicitContentAnnotation": { + "fields": { + "frames": { + "rule": "repeated", + "type": "ExplicitContentFrame", + "id": 1 + } + } + }, + "NormalizedBoundingBox": { + "fields": { + "left": { + "type": "float", + "id": 1 + }, + "top": { + "type": "float", + "id": 2 + }, + "right": { + "type": "float", + "id": 3 + }, + "bottom": { + "type": "float", + "id": 4 + } + } + }, + "TimestampedObject": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3 + } + } + }, + "Track": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "timestampedObjects": { + "rule": "repeated", + "type": "TimestampedObject", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "DetectedAttribute": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "value": { + "type": "string", + "id": 3 + } + } + }, + "VideoAnnotationResults": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "segmentLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "shotLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 3 + }, + "frameLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 4 + }, + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 6 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 7 + }, + "speechTranscriptions": { + "rule": "repeated", + "type": "SpeechTranscription", + "id": 11 + }, + "textAnnotations": { + "rule": "repeated", + "type": "TextAnnotation", + "id": 12 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 14 + }, + "logoRecognitionAnnotations": { + "rule": "repeated", + "type": "LogoRecognitionAnnotation", + "id": 19 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "AnnotateVideoResponse": { + "fields": { + "annotationResults": { + "rule": "repeated", + "type": "VideoAnnotationResults", + "id": 1 + } + } + }, + "VideoAnnotationProgress": { + "fields": { + "inputUri": { + "type": "string", + "id": 1 + }, + "progressPercent": { + "type": "int32", + "id": 2 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 4 + } + } + }, + "AnnotateVideoProgress": { + "fields": { + "annotationProgress": { + "rule": "repeated", + "type": "VideoAnnotationProgress", + "id": 1 + } + } + }, + "SpeechTranscriptionConfig": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "maxAlternatives": { + "type": "int32", + "id": 2 + }, + "filterProfanity": { + "type": "bool", + "id": 3 + }, + "speechContexts": { + "rule": "repeated", + "type": "SpeechContext", + "id": 4 + }, + "enableAutomaticPunctuation": { + "type": "bool", + "id": 5 + }, + "audioTracks": { + "rule": "repeated", + "type": "int32", + "id": 6 + }, + "enableSpeakerDiarization": { + "type": "bool", + "id": 7 + }, + "diarizationSpeakerCount": { + "type": "int32", + "id": 8 + }, + "enableWordConfidence": { + "type": "bool", + "id": 9 + } + } + }, + "SpeechContext": { + "fields": { + "phrases": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "SpeechTranscription": { + "fields": { + "alternatives": { + "rule": "repeated", + "type": "SpeechRecognitionAlternative", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + }, + "SpeechRecognitionAlternative": { + "fields": { + "transcript": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "WordInfo", + "id": 3 + } + } + }, + "WordInfo": { + "fields": { + "startTime": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "word": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "speakerTag": { + "type": "int32", + "id": 5 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "TextSegment": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "frames": { + "rule": "repeated", + "type": "TextFrame", + "id": 3 + } + } + }, + "TextFrame": { + "fields": { + "rotatedBoundingBox": { + "type": "NormalizedBoundingPoly", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "TextAnnotation": { + "fields": { + "text": { + "type": "string", + "id": 1 + }, + "segments": { + "rule": "repeated", + "type": "TextSegment", + "id": 2 + } + } + }, + "ObjectTrackingFrame": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "ObjectTrackingAnnotation": { + "oneofs": { + "trackInfo": { + "oneof": [ + "segment", + "trackId" + ] + } + }, + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 4 + }, + "frames": { + "rule": "repeated", + "type": "ObjectTrackingFrame", + "id": 2 + }, + "segment": { + "type": "VideoSegment", + "id": 3 + }, + "trackId": { + "type": "int64", + "id": 5 + } + } + }, + "LogoRecognitionAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 3 + } + } + }, + "StreamingAnnotateVideoRequest": { + "oneofs": { + "streamingRequest": { + "oneof": [ + "videoConfig", + "inputContent" + ] + } + }, + "fields": { + "videoConfig": { + "type": "StreamingVideoConfig", + "id": 1 + }, + "inputContent": { + "type": "bytes", + "id": 2 + } + } + }, + "StreamingAnnotateVideoResponse": { + "fields": { + "error": { + "type": "google.rpc.Status", + "id": 1 + }, + "annotationResults": { + "type": "StreamingVideoAnnotationResults", + "id": 2 + }, + "annotationResultsUri": { + "type": "string", + "id": 3 + } + } + }, + "StreamingAutomlClassificationConfig": { + "fields": { + "modelName": { + "type": "string", + "id": 1 + } + } + }, + "StreamingAutomlObjectTrackingConfig": { + "fields": { + "modelName": { + "type": "string", + "id": 1 + } + } + }, + "StreamingExplicitContentDetectionConfig": { + "fields": {} + }, + "StreamingLabelDetectionConfig": { + "fields": { + "stationaryCamera": { + "type": "bool", + "id": 1 + } + } + }, + "StreamingObjectTrackingConfig": { + "fields": {} + }, + "StreamingShotChangeDetectionConfig": { + "fields": {} + }, + "StreamingStorageConfig": { + "fields": { + "enableStorageAnnotationResult": { + "type": "bool", + "id": 1 + }, + "annotationResultStorageDirectory": { + "type": "string", + "id": 3 + } + } + }, + "StreamingVideoAnnotationResults": { + "fields": { + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", + "id": 1 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 3 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 4 + } + } + }, + "StreamingVideoConfig": { + "oneofs": { + "streamingConfig": { + "oneof": [ + "shotChangeDetectionConfig", + "labelDetectionConfig", + "explicitContentDetectionConfig", + "objectTrackingConfig", + "automlClassificationConfig", + "automlObjectTrackingConfig" + ] + } + }, + "fields": { + "feature": { + "type": "StreamingFeature", + "id": 1 + }, + "shotChangeDetectionConfig": { + "type": "StreamingShotChangeDetectionConfig", + "id": 2 + }, + "labelDetectionConfig": { + "type": "StreamingLabelDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "StreamingExplicitContentDetectionConfig", + "id": 4 + }, + "objectTrackingConfig": { + "type": "StreamingObjectTrackingConfig", + "id": 5 + }, + "automlClassificationConfig": { + "type": "StreamingAutomlClassificationConfig", + "id": 21 + }, + "automlObjectTrackingConfig": { + "type": "StreamingAutomlObjectTrackingConfig", + "id": 22 + }, + "storageConfig": { + "type": "StreamingStorageConfig", + "id": 30 + } + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "SPEECH_TRANSCRIPTION": 6, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9, + "LOGO_RECOGNITION": 12 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "StreamingFeature": { + "values": { + "STREAMING_FEATURE_UNSPECIFIED": 0, + "STREAMING_LABEL_DETECTION": 1, + "STREAMING_SHOT_CHANGE_DETECTION": 2, + "STREAMING_EXPLICIT_CONTENT_DETECTION": 3, + "STREAMING_OBJECT_TRACKING": 4, + "STREAMING_AUTOML_CLASSIFICATION": 21, + "STREAMING_AUTOML_OBJECT_TRACKING": 22 + } + } + } + } + } + } + } + }, + "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": {} + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "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 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/browser.js b/packages/google-cloud-videointelligence/src/browser.js new file mode 100644 index 00000000000..ddbcd7ecb9a --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 594ee64fe79..e79cf34cb5b 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1/video_intelligence.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/videointelligence/v1/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,11 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1.VideoIntelligenceService, opts ); @@ -155,18 +176,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..e28d401f1a2 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js index 70f5c659cf4..feb2ee54362 100644 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1beta1/video_intelligence.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/videointelligence/v1beta1/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,12 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta1.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1beta1.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1beta1 + .VideoIntelligenceService, opts ); @@ -155,18 +177,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..db0d6735d24 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index d944b5b4606..ccc58f9b6d8 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1beta2/video_intelligence.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/videointelligence/v1beta2/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,12 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1beta2.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1beta2 + .VideoIntelligenceService, opts ); @@ -155,18 +177,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1beta2/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..02f0a919dcd --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 8488b5bc3e9..33ffbfbf7d9 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1p1beta1/video_intelligence.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/videointelligence/v1p1beta1/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,12 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1p1beta1 + .VideoIntelligenceService, opts ); @@ -155,18 +177,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1p1beta1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..4213216a5f9 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index a2aee93318d..47924654695 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1p2beta1/video_intelligence.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/videointelligence/v1p2beta1/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,12 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1p2beta1 + .VideoIntelligenceService, opts ); @@ -155,18 +177,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1p2beta1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..64abb974b04 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index 08afbbe2a24..b8b5b8159c9 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -58,6 +58,16 @@ class StreamingVideoIntelligenceServiceClient { 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; @@ -74,32 +84,47 @@ class StreamingVideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1p3beta1/video_intelligence.proto'] + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // Some of the methods on this service provide streaming responses. // Provide descriptors for these. this._descriptors.stream = { - streamingAnnotateVideo: new gax.StreamDescriptor( + streamingAnnotateVideo: new gaxModule.StreamDescriptor( gax.StreamType.BIDI_STREAMING ), }; @@ -120,8 +145,12 @@ class StreamingVideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService. const streamingVideoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1p3beta1 - .StreamingVideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1p3beta1 + .StreamingVideoIntelligenceService, opts ); @@ -131,18 +160,16 @@ class StreamingVideoIntelligenceServiceClient { 'streamingAnnotateVideo', ]; for (const methodName of streamingVideoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - streamingVideoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = streamingVideoIntelligenceServiceStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.stream[methodName] ); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..85fbf375df1 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 9c783efb698..307d8f55002 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./video_intelligence_service_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -59,6 +58,16 @@ class VideoIntelligenceServiceClient { 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; @@ -75,43 +84,51 @@ class VideoIntelligenceServiceClient { // 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.version}`, - `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/videointelligence/v1p3beta1/video_intelligence.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/videointelligence/v1p3beta1/video_intelligence.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); @@ -124,7 +141,7 @@ class VideoIntelligenceServiceClient { ); this._descriptors.longrunning = { - annotateVideo: new gax.LongrunningDescriptor( + annotateVideo: new gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), annotateVideoMetadata.decode.bind(annotateVideoMetadata) @@ -147,7 +164,12 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService. const videoIntelligenceServiceStub = gaxGrpc.createStub( - protos.google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService, + opts.fallback + ? protos.lookupService( + 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService' + ) + : protos.google.cloud.videointelligence.v1p3beta1 + .VideoIntelligenceService, opts ); @@ -155,18 +177,16 @@ class VideoIntelligenceServiceClient { // and create an API call method for each. const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - videoIntelligenceServiceStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = videoIntelligenceServiceStub.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-videointelligence/src/v1p3beta1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_proto_list.json new file mode 100644 index 00000000000..85fbf375df1 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" +] diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 4e30adba5fc..1a02978c3bd 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-07T11:29:13.523044Z", + "updateTime": "2019-09-04T11:29:28.847451Z", "sources": [ { "generator": { "name": "artman", - "version": "0.32.1", - "dockerImage": "googleapis/artman@sha256:a684d40ba9a4e15946f5f2ca6b4bd9fe301192f522e9de4fff622118775f309b" + "version": "0.36.2", + "dockerImage": "googleapis/artman@sha256:0e6f3a668cd68afc768ecbe08817cf6e56a0e64fcbdb1c58c3b97492d12418a1" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "6d29882872298c8bfbaef33bd69bfca275c4d2eb", - "internalRef": "262019251" + "sha": "a2158681f6e30c5fd9446eb1fd7b5021a6d48bfa", + "internalRef": "266999433" } }, { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 5dad8ce8569..1b4046b61d5 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -46,6 +46,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js index 313d7690014..1aeb57cdca2 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js @@ -49,6 +49,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 0ff760944f2..20ec155ba9e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -49,6 +49,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index 241c99a736a..aec9fe858f7 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -49,6 +49,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index fe40d3b5a70..d7c132ddd77 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js @@ -49,6 +49,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index 070c9584db5..cd2f1d4235c 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -50,6 +50,13 @@ describe('VideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('annotateVideo', function() { it('invokes annotateVideo without error', done => { const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( @@ -178,6 +185,13 @@ describe('StreamingVideoIntelligenceServiceClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + {fallback: true} + ); + assert(client); + }); + describe('streamingAnnotateVideo', () => { it('invokes streamingAnnotateVideo without error', done => { const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( diff --git a/packages/google-cloud-videointelligence/webpack.config.js b/packages/google-cloud-videointelligence/webpack.config.js new file mode 100644 index 00000000000..ab92bb7f543 --- /dev/null +++ b/packages/google-cloud-videointelligence/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: 'video-intelligence', + filename: './video-intelligence.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 9d5a9a28fed91a5e70aafee939a34378dda0c38c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 16 Sep 2019 11:05:02 -0700 Subject: [PATCH 204/418] chore: release 2.3.0 (#285) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- .../google-cloud-videointelligence/CHANGELOG.md | 15 +++++++++++++++ .../google-cloud-videointelligence/package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 83eaf5fcaed..928fc68807c 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,21 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.2...v2.3.0) (2019-09-16) + + +### Bug Fixes + +* **deps:** update dependency yargs to v14 ([0a1363c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/0a1363c)) +* fixed typo enableAutomaticPunctuation2 in sample ([3188368](https://www.github.com/googleapis/nodejs-video-intelligence/commit/3188368)) + + +### Features + +* add streaming automl classification samples ([#284](https://www.github.com/googleapis/nodejs-video-intelligence/issues/284)) ([7bb53d5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7bb53d5)) +* load protos from JSON, grpc-fallback support ([#286](https://www.github.com/googleapis/nodejs-video-intelligence/issues/286)) ([a1c2898](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a1c2898)) +* segment and shot label annotations support ([#281](https://www.github.com/googleapis/nodejs-video-intelligence/issues/281)) ([1787c6a](https://www.github.com/googleapis/nodejs-video-intelligence/commit/1787c6a)) + ### [2.2.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.1...v2.2.2) (2019-08-05) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2bc7212215b..456f9951984 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.2.2", + "version": "2.3.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index facbf7922bd..a1ff7db12b5 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.2.2", + "@google-cloud/video-intelligence": "^2.3.0", "yargs": "^14.0.0" }, "devDependencies": { From 997c2830c60f69529137dbe39ded0dec833fe2c2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 30 Sep 2019 14:40:48 -0700 Subject: [PATCH 205/418] feat: .d.ts for protos (#293) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * add protos to eslintignore * chore: hunted down missing videos * chore: fix video path * test: other resources are missing, let's use the cat for now * chore: updating URLs --- .../.eslintignore | 1 + .../protos/protos.d.ts | 21790 ++++++ .../protos/protos.js | 55198 ++++++++++++++++ .../synth.metadata | 10 +- 4 files changed, 76994 insertions(+), 5 deletions(-) create mode 100644 packages/google-cloud-videointelligence/protos/protos.d.ts create mode 100644 packages/google-cloud-videointelligence/protos/protos.js diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index f0c7aead4bf..09b31fe735a 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -2,3 +2,4 @@ src/**/doc/* build/ docs/ +protos/ diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts new file mode 100644 index 00000000000..23a2b967177 --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -0,0 +1,21790 @@ +import * as $protobuf from "protobufjs"; +/** Namespace google. */ +export namespace google { + + /** Namespace cloud. */ + namespace cloud { + + /** Namespace videointelligence. */ + namespace videointelligence { + + /** Namespace v1. */ + namespace v1 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoRequest): google.cloud.videointelligence.v1.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1.IVideoSegment[]|null); + + /** VideoContext labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null); + + /** VideoContext faceDetectionConfig */ + faceDetectionConfig?: (google.cloud.videointelligence.v1.IFaceDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig */ + speechTranscriptionConfig?: (google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null); + + /** VideoContext textDetectionConfig */ + textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null); + + /** VideoContext objectTrackingConfig */ + objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1.IVideoSegment[]; + + /** VideoContext labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null); + + /** VideoContext faceDetectionConfig. */ + public faceDetectionConfig?: (google.cloud.videointelligence.v1.IFaceDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig. */ + public speechTranscriptionConfig?: (google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null); + + /** VideoContext textDetectionConfig. */ + public textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null); + + /** VideoContext objectTrackingConfig. */ + public objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null); + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IVideoContext): google.cloud.videointelligence.v1.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelDetectionConfig. */ + interface ILabelDetectionConfig { + + /** LabelDetectionConfig labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1.LabelDetectionMode|null); + + /** LabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** LabelDetectionConfig model */ + model?: (string|null); + + /** LabelDetectionConfig frameConfidenceThreshold */ + frameConfidenceThreshold?: (number|null); + + /** LabelDetectionConfig videoConfidenceThreshold */ + videoConfidenceThreshold?: (number|null); + } + + /** Represents a LabelDetectionConfig. */ + class LabelDetectionConfig implements ILabelDetectionConfig { + + /** + * Constructs a new LabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ILabelDetectionConfig); + + /** LabelDetectionConfig labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1.LabelDetectionMode; + + /** LabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** LabelDetectionConfig model. */ + public model: string; + + /** LabelDetectionConfig frameConfidenceThreshold. */ + public frameConfidenceThreshold: number; + + /** LabelDetectionConfig videoConfidenceThreshold. */ + public videoConfidenceThreshold: number; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ILabelDetectionConfig): google.cloud.videointelligence.v1.LabelDetectionConfig; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelDetectionConfig; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelDetectionConfig; + + /** + * Verifies a LabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelDetectionConfig; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @param message LabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShotChangeDetectionConfig. */ + interface IShotChangeDetectionConfig { + + /** ShotChangeDetectionConfig model */ + model?: (string|null); + } + + /** Represents a ShotChangeDetectionConfig. */ + class ShotChangeDetectionConfig implements IShotChangeDetectionConfig { + + /** + * Constructs a new ShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IShotChangeDetectionConfig); + + /** ShotChangeDetectionConfig model. */ + public model: string; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1.ShotChangeDetectionConfig; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ShotChangeDetectionConfig; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ShotChangeDetectionConfig; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ShotChangeDetectionConfig; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message ShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { + + /** ExplicitContentDetectionConfig model */ + model?: (string|null); + } + + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig); + + /** ExplicitContentDetectionConfig model. */ + public model: string; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceDetectionConfig. */ + interface IFaceDetectionConfig { + + /** FaceDetectionConfig model */ + model?: (string|null); + + /** FaceDetectionConfig includeBoundingBoxes */ + includeBoundingBoxes?: (boolean|null); + } + + /** Represents a FaceDetectionConfig. */ + class FaceDetectionConfig implements IFaceDetectionConfig { + + /** + * Constructs a new FaceDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IFaceDetectionConfig); + + /** FaceDetectionConfig model. */ + public model: string; + + /** FaceDetectionConfig includeBoundingBoxes. */ + public includeBoundingBoxes: boolean; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IFaceDetectionConfig): google.cloud.videointelligence.v1.FaceDetectionConfig; + + /** + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceDetectionConfig; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceDetectionConfig; + + /** + * Verifies a FaceDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceDetectionConfig; + + /** + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. + * @param message FaceDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingConfig. */ + interface IObjectTrackingConfig { + + /** ObjectTrackingConfig model */ + model?: (string|null); + } + + /** Represents an ObjectTrackingConfig. */ + class ObjectTrackingConfig implements IObjectTrackingConfig { + + /** + * Constructs a new ObjectTrackingConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig); + + /** ObjectTrackingConfig model. */ + public model: string; + + /** + * Creates a new ObjectTrackingConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig): google.cloud.videointelligence.v1.ObjectTrackingConfig; + + /** + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingConfig; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingConfig; + + /** + * Verifies an ObjectTrackingConfig message. + * @param message Plain 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 ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingConfig; + + /** + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * @param message ObjectTrackingConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextDetectionConfig. */ + interface ITextDetectionConfig { + + /** TextDetectionConfig languageHints */ + languageHints?: (string[]|null); + + /** TextDetectionConfig model */ + model?: (string|null); + } + + /** Represents a TextDetectionConfig. */ + class TextDetectionConfig implements ITextDetectionConfig { + + /** + * Constructs a new TextDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITextDetectionConfig); + + /** TextDetectionConfig languageHints. */ + public languageHints: string[]; + + /** TextDetectionConfig model. */ + public model: string; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITextDetectionConfig): google.cloud.videointelligence.v1.TextDetectionConfig; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextDetectionConfig; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextDetectionConfig; + + /** + * Verifies a TextDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextDetectionConfig; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @param message TextDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IVideoSegment): google.cloud.videointelligence.v1.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelSegment. */ + interface ILabelSegment { + + /** LabelSegment segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** LabelSegment confidence */ + confidence?: (number|null); + } + + /** Represents a LabelSegment. */ + class LabelSegment implements ILabelSegment { + + /** + * Constructs a new LabelSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ILabelSegment); + + /** LabelSegment segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** LabelSegment confidence. */ + public confidence: number; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ILabelSegment): google.cloud.videointelligence.v1.LabelSegment; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelSegment; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelSegment; + + /** + * Verifies a LabelSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelSegment; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @param message LabelSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelFrame. */ + interface ILabelFrame { + + /** LabelFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence */ + confidence?: (number|null); + } + + /** Represents a LabelFrame. */ + class LabelFrame implements ILabelFrame { + + /** + * Constructs a new LabelFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ILabelFrame); + + /** LabelFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence. */ + public confidence: number; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ILabelFrame): google.cloud.videointelligence.v1.LabelFrame; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelFrame; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelFrame; + + /** + * Verifies a LabelFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelFrame; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @param message LabelFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Entity. */ + interface IEntity { + + /** Entity entityId */ + entityId?: (string|null); + + /** Entity description */ + description?: (string|null); + + /** Entity languageCode */ + languageCode?: (string|null); + } + + /** Represents an Entity. */ + class Entity implements IEntity { + + /** + * Constructs a new Entity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IEntity); + + /** Entity entityId. */ + public entityId: string; + + /** Entity description. */ + public description: string; + + /** Entity languageCode. */ + public languageCode: string; + + /** + * Creates a new Entity instance using the specified properties. + * @param [properties] Properties to set + * @returns Entity instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IEntity): google.cloud.videointelligence.v1.Entity; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.Entity; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.Entity; + + /** + * Verifies an Entity message. + * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Entity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.Entity; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @param message Entity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Entity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation entity */ + entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** LabelAnnotation categoryEntities */ + categoryEntities?: (google.cloud.videointelligence.v1.IEntity[]|null); + + /** LabelAnnotation segments */ + segments?: (google.cloud.videointelligence.v1.ILabelSegment[]|null); + + /** LabelAnnotation frames */ + frames?: (google.cloud.videointelligence.v1.ILabelFrame[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ILabelAnnotation); + + /** LabelAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** LabelAnnotation categoryEntities. */ + public categoryEntities: google.cloud.videointelligence.v1.IEntity[]; + + /** LabelAnnotation segments. */ + public segments: google.cloud.videointelligence.v1.ILabelSegment[]; + + /** LabelAnnotation frames. */ + public frames: google.cloud.videointelligence.v1.ILabelFrame[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ILabelAnnotation): google.cloud.videointelligence.v1.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentFrame. */ + interface IExplicitContentFrame { + + /** ExplicitContentFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood */ + pornographyLikelihood?: (google.cloud.videointelligence.v1.Likelihood|null); + } + + /** Represents an ExplicitContentFrame. */ + class ExplicitContentFrame implements IExplicitContentFrame { + + /** + * Constructs a new ExplicitContentFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentFrame); + + /** ExplicitContentFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood. */ + public pornographyLikelihood: google.cloud.videointelligence.v1.Likelihood; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentFrame): google.cloud.videointelligence.v1.ExplicitContentFrame; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentFrame; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentFrame; + + /** + * Verifies an ExplicitContentFrame message. + * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentFrame; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @param message ExplicitContentFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentAnnotation. */ + interface IExplicitContentAnnotation { + + /** ExplicitContentAnnotation frames */ + frames?: (google.cloud.videointelligence.v1.IExplicitContentFrame[]|null); + } + + /** Represents an ExplicitContentAnnotation. */ + class ExplicitContentAnnotation implements IExplicitContentAnnotation { + + /** + * Constructs a new ExplicitContentAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentAnnotation); + + /** ExplicitContentAnnotation frames. */ + public frames: google.cloud.videointelligence.v1.IExplicitContentFrame[]; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentAnnotation): google.cloud.videointelligence.v1.ExplicitContentAnnotation; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentAnnotation; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentAnnotation; + + /** + * Verifies an ExplicitContentAnnotation message. + * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentAnnotation; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @param message ExplicitContentAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingBox. */ + interface INormalizedBoundingBox { + + /** NormalizedBoundingBox left */ + left?: (number|null); + + /** NormalizedBoundingBox top */ + top?: (number|null); + + /** NormalizedBoundingBox right */ + right?: (number|null); + + /** NormalizedBoundingBox bottom */ + bottom?: (number|null); + } + + /** Represents a NormalizedBoundingBox. */ + class NormalizedBoundingBox implements INormalizedBoundingBox { + + /** + * Constructs a new NormalizedBoundingBox. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.INormalizedBoundingBox); + + /** NormalizedBoundingBox left. */ + public left: number; + + /** NormalizedBoundingBox top. */ + public top: number; + + /** NormalizedBoundingBox right. */ + public right: number; + + /** NormalizedBoundingBox bottom. */ + public bottom: number; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingBox instance + */ + public static create(properties?: google.cloud.videointelligence.v1.INormalizedBoundingBox): google.cloud.videointelligence.v1.NormalizedBoundingBox; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.NormalizedBoundingBox; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.NormalizedBoundingBox; + + /** + * Verifies a NormalizedBoundingBox message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingBox + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.NormalizedBoundingBox; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @param message NormalizedBoundingBox + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceSegment. */ + interface IFaceSegment { + + /** FaceSegment segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + } + + /** Represents a FaceSegment. */ + class FaceSegment implements IFaceSegment { + + /** + * Constructs a new FaceSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IFaceSegment); + + /** FaceSegment segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** + * Creates a new FaceSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IFaceSegment): google.cloud.videointelligence.v1.FaceSegment; + + /** + * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages. + * @param message FaceSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages. + * @param message FaceSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceSegment; + + /** + * Decodes a FaceSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceSegment; + + /** + * Verifies a FaceSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceSegment; + + /** + * Creates a plain object from a FaceSegment message. Also converts values to other types if specified. + * @param message FaceSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.FaceSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceFrame. */ + interface IFaceFrame { + + /** FaceFrame normalizedBoundingBoxes */ + normalizedBoundingBoxes?: (google.cloud.videointelligence.v1.INormalizedBoundingBox[]|null); + + /** FaceFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a FaceFrame. */ + class FaceFrame implements IFaceFrame { + + /** + * Constructs a new FaceFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IFaceFrame); + + /** FaceFrame normalizedBoundingBoxes. */ + public normalizedBoundingBoxes: google.cloud.videointelligence.v1.INormalizedBoundingBox[]; + + /** FaceFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new FaceFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IFaceFrame): google.cloud.videointelligence.v1.FaceFrame; + + /** + * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages. + * @param message FaceFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages. + * @param message FaceFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceFrame; + + /** + * Decodes a FaceFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceFrame; + + /** + * Verifies a FaceFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceFrame; + + /** + * Creates a plain object from a FaceFrame message. Also converts values to other types if specified. + * @param message FaceFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.FaceFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation thumbnail */ + thumbnail?: (Uint8Array|null); + + /** FaceAnnotation segments */ + segments?: (google.cloud.videointelligence.v1.IFaceSegment[]|null); + + /** FaceAnnotation frames */ + frames?: (google.cloud.videointelligence.v1.IFaceFrame[]|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IFaceAnnotation); + + /** FaceAnnotation thumbnail. */ + public thumbnail: Uint8Array; + + /** FaceAnnotation segments. */ + public segments: google.cloud.videointelligence.v1.IFaceSegment[]; + + /** FaceAnnotation frames. */ + public frames: google.cloud.videointelligence.v1.IFaceFrame[]; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IFaceAnnotation): google.cloud.videointelligence.v1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** VideoAnnotationResults segmentLabelAnnotations */ + segmentLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults segmentPresenceLabelAnnotations */ + segmentPresenceLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotLabelAnnotations */ + shotLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotPresenceLabelAnnotations */ + shotPresenceLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults frameLabelAnnotations */ + frameLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults faceAnnotations */ + faceAnnotations?: (google.cloud.videointelligence.v1.IFaceAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1.IVideoSegment[]|null); + + /** VideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions */ + speechTranscriptions?: (google.cloud.videointelligence.v1.ISpeechTranscription[]|null); + + /** VideoAnnotationResults textAnnotations */ + textAnnotations?: (google.cloud.videointelligence.v1.ITextAnnotation[]|null); + + /** VideoAnnotationResults objectAnnotations */ + objectAnnotations?: (google.cloud.videointelligence.v1.IObjectTrackingAnnotation[]|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** VideoAnnotationResults segmentLabelAnnotations. */ + public segmentLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[]; + + /** VideoAnnotationResults segmentPresenceLabelAnnotations. */ + public segmentPresenceLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotLabelAnnotations. */ + public shotLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotPresenceLabelAnnotations. */ + public shotPresenceLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[]; + + /** VideoAnnotationResults frameLabelAnnotations. */ + public frameLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[]; + + /** VideoAnnotationResults faceAnnotations. */ + public faceAnnotations: google.cloud.videointelligence.v1.IFaceAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1.IVideoSegment[]; + + /** VideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions. */ + public speechTranscriptions: google.cloud.videointelligence.v1.ISpeechTranscription[]; + + /** VideoAnnotationResults textAnnotations. */ + public textAnnotations: google.cloud.videointelligence.v1.ITextAnnotation[]; + + /** VideoAnnotationResults objectAnnotations. */ + public objectAnnotations: google.cloud.videointelligence.v1.IObjectTrackingAnnotation[]; + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IVideoAnnotationResults): google.cloud.videointelligence.v1.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoResponse): google.cloud.videointelligence.v1.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress feature */ + feature?: (google.cloud.videointelligence.v1.Feature|null); + + /** VideoAnnotationProgress segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress feature. */ + public feature: google.cloud.videointelligence.v1.Feature; + + /** VideoAnnotationProgress segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IVideoAnnotationProgress): google.cloud.videointelligence.v1.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoProgress): google.cloud.videointelligence.v1.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscriptionConfig. */ + interface ISpeechTranscriptionConfig { + + /** SpeechTranscriptionConfig languageCode */ + languageCode?: (string|null); + + /** SpeechTranscriptionConfig maxAlternatives */ + maxAlternatives?: (number|null); + + /** SpeechTranscriptionConfig filterProfanity */ + filterProfanity?: (boolean|null); + + /** SpeechTranscriptionConfig speechContexts */ + speechContexts?: (google.cloud.videointelligence.v1.ISpeechContext[]|null); + + /** SpeechTranscriptionConfig enableAutomaticPunctuation */ + enableAutomaticPunctuation?: (boolean|null); + + /** SpeechTranscriptionConfig audioTracks */ + audioTracks?: (number[]|null); + + /** SpeechTranscriptionConfig enableSpeakerDiarization */ + enableSpeakerDiarization?: (boolean|null); + + /** SpeechTranscriptionConfig diarizationSpeakerCount */ + diarizationSpeakerCount?: (number|null); + + /** SpeechTranscriptionConfig enableWordConfidence */ + enableWordConfidence?: (boolean|null); + } + + /** Represents a SpeechTranscriptionConfig. */ + class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig { + + /** + * Constructs a new SpeechTranscriptionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig); + + /** SpeechTranscriptionConfig languageCode. */ + public languageCode: string; + + /** SpeechTranscriptionConfig maxAlternatives. */ + public maxAlternatives: number; + + /** SpeechTranscriptionConfig filterProfanity. */ + public filterProfanity: boolean; + + /** SpeechTranscriptionConfig speechContexts. */ + public speechContexts: google.cloud.videointelligence.v1.ISpeechContext[]; + + /** SpeechTranscriptionConfig enableAutomaticPunctuation. */ + public enableAutomaticPunctuation: boolean; + + /** SpeechTranscriptionConfig audioTracks. */ + public audioTracks: number[]; + + /** SpeechTranscriptionConfig enableSpeakerDiarization. */ + public enableSpeakerDiarization: boolean; + + /** SpeechTranscriptionConfig diarizationSpeakerCount. */ + public diarizationSpeakerCount: number; + + /** SpeechTranscriptionConfig enableWordConfidence. */ + public enableWordConfidence: boolean; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscriptionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1.SpeechTranscriptionConfig; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechTranscriptionConfig; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechTranscriptionConfig; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscriptionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechTranscriptionConfig; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @param message SpeechTranscriptionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechContext. */ + interface ISpeechContext { + + /** SpeechContext phrases */ + phrases?: (string[]|null); + } + + /** Represents a SpeechContext. */ + class SpeechContext implements ISpeechContext { + + /** + * Constructs a new SpeechContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ISpeechContext); + + /** SpeechContext phrases. */ + public phrases: string[]; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ISpeechContext): google.cloud.videointelligence.v1.SpeechContext; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechContext; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechContext; + + /** + * Verifies a SpeechContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechContext; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @param message SpeechContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscription. */ + interface ISpeechTranscription { + + /** SpeechTranscription alternatives */ + alternatives?: (google.cloud.videointelligence.v1.ISpeechRecognitionAlternative[]|null); + + /** SpeechTranscription languageCode */ + languageCode?: (string|null); + } + + /** Represents a SpeechTranscription. */ + class SpeechTranscription implements ISpeechTranscription { + + /** + * Constructs a new SpeechTranscription. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ISpeechTranscription); + + /** SpeechTranscription alternatives. */ + public alternatives: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative[]; + + /** SpeechTranscription languageCode. */ + public languageCode: string; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscription instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ISpeechTranscription): google.cloud.videointelligence.v1.SpeechTranscription; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechTranscription; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechTranscription; + + /** + * Verifies a SpeechTranscription message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscription + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechTranscription; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @param message SpeechTranscription + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscription to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechRecognitionAlternative. */ + interface ISpeechRecognitionAlternative { + + /** SpeechRecognitionAlternative transcript */ + transcript?: (string|null); + + /** SpeechRecognitionAlternative confidence */ + confidence?: (number|null); + + /** SpeechRecognitionAlternative words */ + words?: (google.cloud.videointelligence.v1.IWordInfo[]|null); + } + + /** Represents a SpeechRecognitionAlternative. */ + class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative { + + /** + * Constructs a new SpeechRecognitionAlternative. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative); + + /** SpeechRecognitionAlternative transcript. */ + public transcript: string; + + /** SpeechRecognitionAlternative confidence. */ + public confidence: number; + + /** SpeechRecognitionAlternative words. */ + public words: google.cloud.videointelligence.v1.IWordInfo[]; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechRecognitionAlternative instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1.SpeechRecognitionAlternative; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechRecognitionAlternative; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechRecognitionAlternative; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechRecognitionAlternative + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechRecognitionAlternative; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @param message SpeechRecognitionAlternative + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WordInfo. */ + interface IWordInfo { + + /** WordInfo startTime */ + startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime */ + endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word */ + word?: (string|null); + + /** WordInfo confidence */ + confidence?: (number|null); + + /** WordInfo speakerTag */ + speakerTag?: (number|null); + } + + /** Represents a WordInfo. */ + class WordInfo implements IWordInfo { + + /** + * Constructs a new WordInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IWordInfo); + + /** WordInfo startTime. */ + public startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime. */ + public endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word. */ + public word: string; + + /** WordInfo confidence. */ + public confidence: number; + + /** WordInfo speakerTag. */ + public speakerTag: number; + + /** + * Creates a new WordInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns WordInfo instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IWordInfo): google.cloud.videointelligence.v1.WordInfo; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.WordInfo; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.WordInfo; + + /** + * Verifies a WordInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WordInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.WordInfo; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @param message WordInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WordInfo 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.videointelligence.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.videointelligence.v1.INormalizedVertex): google.cloud.videointelligence.v1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingPoly. */ + interface INormalizedBoundingPoly { + + /** NormalizedBoundingPoly vertices */ + vertices?: (google.cloud.videointelligence.v1.INormalizedVertex[]|null); + } + + /** Represents a NormalizedBoundingPoly. */ + class NormalizedBoundingPoly implements INormalizedBoundingPoly { + + /** + * Constructs a new NormalizedBoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.INormalizedBoundingPoly); + + /** NormalizedBoundingPoly vertices. */ + public vertices: google.cloud.videointelligence.v1.INormalizedVertex[]; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingPoly instance + */ + public static create(properties?: google.cloud.videointelligence.v1.INormalizedBoundingPoly): google.cloud.videointelligence.v1.NormalizedBoundingPoly; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1.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.videointelligence.v1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextSegment. */ + interface ITextSegment { + + /** TextSegment segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** TextSegment confidence */ + confidence?: (number|null); + + /** TextSegment frames */ + frames?: (google.cloud.videointelligence.v1.ITextFrame[]|null); + } + + /** Represents a TextSegment. */ + class TextSegment implements ITextSegment { + + /** + * Constructs a new TextSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITextSegment); + + /** TextSegment segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** TextSegment confidence. */ + public confidence: number; + + /** TextSegment frames. */ + public frames: google.cloud.videointelligence.v1.ITextFrame[]; + + /** + * Creates a new TextSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns TextSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITextSegment): google.cloud.videointelligence.v1.TextSegment; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextSegment; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextSegment; + + /** + * Verifies a TextSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextSegment; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @param message TextSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextFrame. */ + interface ITextFrame { + + /** TextFrame rotatedBoundingBox */ + rotatedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a TextFrame. */ + class TextFrame implements ITextFrame { + + /** + * Constructs a new TextFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITextFrame); + + /** TextFrame rotatedBoundingBox. */ + public rotatedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new TextFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns TextFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITextFrame): google.cloud.videointelligence.v1.TextFrame; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextFrame; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextFrame; + + /** + * Verifies a TextFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextFrame; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @param message TextFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation text */ + text?: (string|null); + + /** TextAnnotation segments */ + segments?: (google.cloud.videointelligence.v1.ITextSegment[]|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITextAnnotation); + + /** TextAnnotation text. */ + public text: string; + + /** TextAnnotation segments. */ + public segments: google.cloud.videointelligence.v1.ITextSegment[]; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITextAnnotation): google.cloud.videointelligence.v1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingFrame. */ + interface IObjectTrackingFrame { + + /** ObjectTrackingFrame normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents an ObjectTrackingFrame. */ + class ObjectTrackingFrame implements IObjectTrackingFrame { + + /** + * Constructs a new ObjectTrackingFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame); + + /** ObjectTrackingFrame normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame): google.cloud.videointelligence.v1.ObjectTrackingFrame; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingFrame; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingFrame; + + /** + * Verifies an ObjectTrackingFrame message. + * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingFrame; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @param message ObjectTrackingFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingAnnotation. */ + interface IObjectTrackingAnnotation { + + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId */ + trackId?: (number|Long|null); + + /** ObjectTrackingAnnotation entity */ + entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** ObjectTrackingAnnotation confidence */ + confidence?: (number|null); + + /** ObjectTrackingAnnotation frames */ + frames?: (google.cloud.videointelligence.v1.IObjectTrackingFrame[]|null); + } + + /** Represents an ObjectTrackingAnnotation. */ + class ObjectTrackingAnnotation implements IObjectTrackingAnnotation { + + /** + * Constructs a new ObjectTrackingAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation); + + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId. */ + public trackId: (number|Long); + + /** ObjectTrackingAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** ObjectTrackingAnnotation confidence. */ + public confidence: number; + + /** ObjectTrackingAnnotation frames. */ + public frames: google.cloud.videointelligence.v1.IObjectTrackingFrame[]; + + /** ObjectTrackingAnnotation trackInfo. */ + public trackInfo?: ("segment"|"trackId"); + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @param message ObjectTrackingAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + FACE_DETECTION = 4, + SPEECH_TRANSCRIPTION = 6, + TEXT_DETECTION = 7, + OBJECT_TRACKING = 9 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + } + + /** Namespace v1beta1. */ + namespace v1beta1 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1beta1.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1beta1.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (string|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1beta1.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: string; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1beta1.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); + + /** VideoContext labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1beta1.LabelDetectionMode|null); + + /** VideoContext stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** VideoContext labelDetectionModel */ + labelDetectionModel?: (string|null); + + /** VideoContext faceDetectionModel */ + faceDetectionModel?: (string|null); + + /** VideoContext shotChangeDetectionModel */ + shotChangeDetectionModel?: (string|null); + + /** VideoContext safeSearchDetectionModel */ + safeSearchDetectionModel?: (string|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1beta1.IVideoSegment[]; + + /** VideoContext labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1beta1.LabelDetectionMode; + + /** VideoContext stationaryCamera. */ + public stationaryCamera: boolean; + + /** VideoContext labelDetectionModel. */ + public labelDetectionModel: string; + + /** VideoContext faceDetectionModel. */ + public faceDetectionModel: string; + + /** VideoContext shotChangeDetectionModel. */ + public shotChangeDetectionModel: string; + + /** VideoContext safeSearchDetectionModel. */ + public safeSearchDetectionModel: string; + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoContext): google.cloud.videointelligence.v1beta1.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (number|Long|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (number|Long|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset: (number|Long); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset: (number|Long); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoSegment): google.cloud.videointelligence.v1beta1.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelLocation. */ + interface ILabelLocation { + + /** LabelLocation segment */ + segment?: (google.cloud.videointelligence.v1beta1.IVideoSegment|null); + + /** LabelLocation confidence */ + confidence?: (number|null); + + /** LabelLocation level */ + level?: (google.cloud.videointelligence.v1beta1.LabelLevel|null); + } + + /** Represents a LabelLocation. */ + class LabelLocation implements ILabelLocation { + + /** + * Constructs a new LabelLocation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.ILabelLocation); + + /** LabelLocation segment. */ + public segment?: (google.cloud.videointelligence.v1beta1.IVideoSegment|null); + + /** LabelLocation confidence. */ + public confidence: number; + + /** LabelLocation level. */ + public level: google.cloud.videointelligence.v1beta1.LabelLevel; + + /** + * Creates a new LabelLocation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelLocation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.ILabelLocation): google.cloud.videointelligence.v1beta1.LabelLocation; + + /** + * Encodes the specified LabelLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. + * @param message LabelLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.ILabelLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. + * @param message LabelLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.ILabelLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelLocation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.LabelLocation; + + /** + * Decodes a LabelLocation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.LabelLocation; + + /** + * Verifies a LabelLocation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelLocation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelLocation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.LabelLocation; + + /** + * Creates a plain object from a LabelLocation message. Also converts values to other types if specified. + * @param message LabelLocation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.LabelLocation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelLocation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation description */ + description?: (string|null); + + /** LabelAnnotation languageCode */ + languageCode?: (string|null); + + /** LabelAnnotation locations */ + locations?: (google.cloud.videointelligence.v1beta1.ILabelLocation[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.ILabelAnnotation); + + /** LabelAnnotation description. */ + public description: string; + + /** LabelAnnotation languageCode. */ + public languageCode: string; + + /** LabelAnnotation locations. */ + public locations: google.cloud.videointelligence.v1beta1.ILabelLocation[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.ILabelAnnotation): google.cloud.videointelligence.v1beta1.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.videointelligence.v1beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.videointelligence.v1beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.videointelligence.v1beta1.Likelihood|null); + + /** SafeSearchAnnotation violent */ + violent?: (google.cloud.videointelligence.v1beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.videointelligence.v1beta1.Likelihood|null); + + /** SafeSearchAnnotation timeOffset */ + timeOffset?: (number|Long|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.videointelligence.v1beta1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.videointelligence.v1beta1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.videointelligence.v1beta1.Likelihood; + + /** SafeSearchAnnotation violent. */ + public violent: google.cloud.videointelligence.v1beta1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.videointelligence.v1beta1.Likelihood; + + /** SafeSearchAnnotation timeOffset. */ + public timeOffset: (number|Long); + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation): google.cloud.videointelligence.v1beta1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingBox. */ + interface IBoundingBox { + + /** BoundingBox left */ + left?: (number|null); + + /** BoundingBox right */ + right?: (number|null); + + /** BoundingBox bottom */ + bottom?: (number|null); + + /** BoundingBox top */ + top?: (number|null); + } + + /** Represents a BoundingBox. */ + class BoundingBox implements IBoundingBox { + + /** + * Constructs a new BoundingBox. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IBoundingBox); + + /** BoundingBox left. */ + public left: number; + + /** BoundingBox right. */ + public right: number; + + /** BoundingBox bottom. */ + public bottom: number; + + /** BoundingBox top. */ + public top: number; + + /** + * Creates a new BoundingBox instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingBox instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IBoundingBox): google.cloud.videointelligence.v1beta1.BoundingBox; + + /** + * Encodes the specified BoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. + * @param message BoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. + * @param message BoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingBox message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.BoundingBox; + + /** + * Decodes a BoundingBox message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.BoundingBox; + + /** + * Verifies a BoundingBox message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingBox message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingBox + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.BoundingBox; + + /** + * Creates a plain object from a BoundingBox message. Also converts values to other types if specified. + * @param message BoundingBox + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.BoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingBox to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceLocation. */ + interface IFaceLocation { + + /** FaceLocation boundingBox */ + boundingBox?: (google.cloud.videointelligence.v1beta1.IBoundingBox|null); + + /** FaceLocation timeOffset */ + timeOffset?: (number|Long|null); + } + + /** Represents a FaceLocation. */ + class FaceLocation implements IFaceLocation { + + /** + * Constructs a new FaceLocation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IFaceLocation); + + /** FaceLocation boundingBox. */ + public boundingBox?: (google.cloud.videointelligence.v1beta1.IBoundingBox|null); + + /** FaceLocation timeOffset. */ + public timeOffset: (number|Long); + + /** + * Creates a new FaceLocation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceLocation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IFaceLocation): google.cloud.videointelligence.v1beta1.FaceLocation; + + /** + * Encodes the specified FaceLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. + * @param message FaceLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IFaceLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. + * @param message FaceLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IFaceLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceLocation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.FaceLocation; + + /** + * Decodes a FaceLocation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.FaceLocation; + + /** + * Verifies a FaceLocation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceLocation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceLocation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.FaceLocation; + + /** + * Creates a plain object from a FaceLocation message. Also converts values to other types if specified. + * @param message FaceLocation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.FaceLocation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceLocation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation thumbnail */ + thumbnail?: (string|null); + + /** FaceAnnotation segments */ + segments?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); + + /** FaceAnnotation locations */ + locations?: (google.cloud.videointelligence.v1beta1.IFaceLocation[]|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IFaceAnnotation); + + /** FaceAnnotation thumbnail. */ + public thumbnail: string; + + /** FaceAnnotation segments. */ + public segments: google.cloud.videointelligence.v1beta1.IVideoSegment[]; + + /** FaceAnnotation locations. */ + public locations: google.cloud.videointelligence.v1beta1.IFaceLocation[]; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IFaceAnnotation): google.cloud.videointelligence.v1beta1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults labelAnnotations */ + labelAnnotations?: (google.cloud.videointelligence.v1beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults faceAnnotations */ + faceAnnotations?: (google.cloud.videointelligence.v1beta1.IFaceAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); + + /** VideoAnnotationResults safeSearchAnnotations */ + safeSearchAnnotations?: (google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation[]|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults labelAnnotations. */ + public labelAnnotations: google.cloud.videointelligence.v1beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults faceAnnotations. */ + public faceAnnotations: google.cloud.videointelligence.v1beta1.IFaceAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1beta1.IVideoSegment[]; + + /** VideoAnnotationResults safeSearchAnnotations. */ + public safeSearchAnnotations: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation[]; + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1beta1.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + FACE_DETECTION = 2, + SHOT_CHANGE_DETECTION = 3, + SAFE_SEARCH_DETECTION = 4 + } + + /** LabelLevel enum. */ + enum LabelLevel { + LABEL_LEVEL_UNSPECIFIED = 0, + VIDEO_LEVEL = 1, + SEGMENT_LEVEL = 2, + SHOT_LEVEL = 3, + FRAME_LEVEL = 4 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + } + + /** Namespace v1beta2. */ + namespace v1beta2 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1beta2.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1beta2.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1beta2.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1beta2.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1beta2.IVideoSegment[]|null); + + /** VideoContext labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null); + + /** VideoContext faceDetectionConfig */ + faceDetectionConfig?: (google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1beta2.IVideoSegment[]; + + /** VideoContext labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null); + + /** VideoContext faceDetectionConfig. */ + public faceDetectionConfig?: (google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null); + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoContext): google.cloud.videointelligence.v1beta2.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelDetectionConfig. */ + interface ILabelDetectionConfig { + + /** LabelDetectionConfig labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|null); + + /** LabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** LabelDetectionConfig model */ + model?: (string|null); + } + + /** Represents a LabelDetectionConfig. */ + class LabelDetectionConfig implements ILabelDetectionConfig { + + /** + * Constructs a new LabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig); + + /** LabelDetectionConfig labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1beta2.LabelDetectionMode; + + /** LabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** LabelDetectionConfig model. */ + public model: string; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig): google.cloud.videointelligence.v1beta2.LabelDetectionConfig; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelDetectionConfig; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelDetectionConfig; + + /** + * Verifies a LabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelDetectionConfig; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @param message LabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShotChangeDetectionConfig. */ + interface IShotChangeDetectionConfig { + + /** ShotChangeDetectionConfig model */ + model?: (string|null); + } + + /** Represents a ShotChangeDetectionConfig. */ + class ShotChangeDetectionConfig implements IShotChangeDetectionConfig { + + /** + * Constructs a new ShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig); + + /** ShotChangeDetectionConfig model. */ + public model: string; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message ShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { + + /** ExplicitContentDetectionConfig model */ + model?: (string|null); + } + + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig); + + /** ExplicitContentDetectionConfig model. */ + public model: string; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceDetectionConfig. */ + interface IFaceDetectionConfig { + + /** FaceDetectionConfig model */ + model?: (string|null); + + /** FaceDetectionConfig includeBoundingBoxes */ + includeBoundingBoxes?: (boolean|null); + } + + /** Represents a FaceDetectionConfig. */ + class FaceDetectionConfig implements IFaceDetectionConfig { + + /** + * Constructs a new FaceDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig); + + /** FaceDetectionConfig model. */ + public model: string; + + /** FaceDetectionConfig includeBoundingBoxes. */ + public includeBoundingBoxes: boolean; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig): google.cloud.videointelligence.v1beta2.FaceDetectionConfig; + + /** + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceDetectionConfig; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceDetectionConfig; + + /** + * Verifies a FaceDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceDetectionConfig; + + /** + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. + * @param message FaceDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoSegment): google.cloud.videointelligence.v1beta2.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelSegment. */ + interface ILabelSegment { + + /** LabelSegment segment */ + segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null); + + /** LabelSegment confidence */ + confidence?: (number|null); + } + + /** Represents a LabelSegment. */ + class LabelSegment implements ILabelSegment { + + /** + * Constructs a new LabelSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelSegment); + + /** LabelSegment segment. */ + public segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null); + + /** LabelSegment confidence. */ + public confidence: number; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelSegment): google.cloud.videointelligence.v1beta2.LabelSegment; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelSegment; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelSegment; + + /** + * Verifies a LabelSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelSegment; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @param message LabelSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelFrame. */ + interface ILabelFrame { + + /** LabelFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence */ + confidence?: (number|null); + } + + /** Represents a LabelFrame. */ + class LabelFrame implements ILabelFrame { + + /** + * Constructs a new LabelFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelFrame); + + /** LabelFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence. */ + public confidence: number; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelFrame): google.cloud.videointelligence.v1beta2.LabelFrame; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelFrame; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelFrame; + + /** + * Verifies a LabelFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelFrame; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @param message LabelFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Entity. */ + interface IEntity { + + /** Entity entityId */ + entityId?: (string|null); + + /** Entity description */ + description?: (string|null); + + /** Entity languageCode */ + languageCode?: (string|null); + } + + /** Represents an Entity. */ + class Entity implements IEntity { + + /** + * Constructs a new Entity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IEntity); + + /** Entity entityId. */ + public entityId: string; + + /** Entity description. */ + public description: string; + + /** Entity languageCode. */ + public languageCode: string; + + /** + * Creates a new Entity instance using the specified properties. + * @param [properties] Properties to set + * @returns Entity instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IEntity): google.cloud.videointelligence.v1beta2.Entity; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.Entity; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.Entity; + + /** + * Verifies an Entity message. + * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Entity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.Entity; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @param message Entity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Entity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation entity */ + entity?: (google.cloud.videointelligence.v1beta2.IEntity|null); + + /** LabelAnnotation categoryEntities */ + categoryEntities?: (google.cloud.videointelligence.v1beta2.IEntity[]|null); + + /** LabelAnnotation segments */ + segments?: (google.cloud.videointelligence.v1beta2.ILabelSegment[]|null); + + /** LabelAnnotation frames */ + frames?: (google.cloud.videointelligence.v1beta2.ILabelFrame[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelAnnotation); + + /** LabelAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1beta2.IEntity|null); + + /** LabelAnnotation categoryEntities. */ + public categoryEntities: google.cloud.videointelligence.v1beta2.IEntity[]; + + /** LabelAnnotation segments. */ + public segments: google.cloud.videointelligence.v1beta2.ILabelSegment[]; + + /** LabelAnnotation frames. */ + public frames: google.cloud.videointelligence.v1beta2.ILabelFrame[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelAnnotation): google.cloud.videointelligence.v1beta2.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentFrame. */ + interface IExplicitContentFrame { + + /** ExplicitContentFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood */ + pornographyLikelihood?: (google.cloud.videointelligence.v1beta2.Likelihood|null); + } + + /** Represents an ExplicitContentFrame. */ + class ExplicitContentFrame implements IExplicitContentFrame { + + /** + * Constructs a new ExplicitContentFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentFrame); + + /** ExplicitContentFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood. */ + public pornographyLikelihood: google.cloud.videointelligence.v1beta2.Likelihood; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentFrame): google.cloud.videointelligence.v1beta2.ExplicitContentFrame; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentFrame; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentFrame; + + /** + * Verifies an ExplicitContentFrame message. + * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentFrame; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @param message ExplicitContentFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentAnnotation. */ + interface IExplicitContentAnnotation { + + /** ExplicitContentAnnotation frames */ + frames?: (google.cloud.videointelligence.v1beta2.IExplicitContentFrame[]|null); + } + + /** Represents an ExplicitContentAnnotation. */ + class ExplicitContentAnnotation implements IExplicitContentAnnotation { + + /** + * Constructs a new ExplicitContentAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation); + + /** ExplicitContentAnnotation frames. */ + public frames: google.cloud.videointelligence.v1beta2.IExplicitContentFrame[]; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation; + + /** + * Verifies an ExplicitContentAnnotation message. + * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @param message ExplicitContentAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingBox. */ + interface INormalizedBoundingBox { + + /** NormalizedBoundingBox left */ + left?: (number|null); + + /** NormalizedBoundingBox top */ + top?: (number|null); + + /** NormalizedBoundingBox right */ + right?: (number|null); + + /** NormalizedBoundingBox bottom */ + bottom?: (number|null); + } + + /** Represents a NormalizedBoundingBox. */ + class NormalizedBoundingBox implements INormalizedBoundingBox { + + /** + * Constructs a new NormalizedBoundingBox. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox); + + /** NormalizedBoundingBox left. */ + public left: number; + + /** NormalizedBoundingBox top. */ + public top: number; + + /** NormalizedBoundingBox right. */ + public right: number; + + /** NormalizedBoundingBox bottom. */ + public bottom: number; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingBox instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox; + + /** + * Verifies a NormalizedBoundingBox message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingBox + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @param message NormalizedBoundingBox + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceSegment. */ + interface IFaceSegment { + + /** FaceSegment segment */ + segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null); + } + + /** Represents a FaceSegment. */ + class FaceSegment implements IFaceSegment { + + /** + * Constructs a new FaceSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceSegment); + + /** FaceSegment segment. */ + public segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null); + + /** + * Creates a new FaceSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceSegment): google.cloud.videointelligence.v1beta2.FaceSegment; + + /** + * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages. + * @param message FaceSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages. + * @param message FaceSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceSegment; + + /** + * Decodes a FaceSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceSegment; + + /** + * Verifies a FaceSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceSegment; + + /** + * Creates a plain object from a FaceSegment message. Also converts values to other types if specified. + * @param message FaceSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.FaceSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceFrame. */ + interface IFaceFrame { + + /** FaceFrame normalizedBoundingBoxes */ + normalizedBoundingBoxes?: (google.cloud.videointelligence.v1beta2.INormalizedBoundingBox[]|null); + + /** FaceFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a FaceFrame. */ + class FaceFrame implements IFaceFrame { + + /** + * Constructs a new FaceFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceFrame); + + /** FaceFrame normalizedBoundingBoxes. */ + public normalizedBoundingBoxes: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox[]; + + /** FaceFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new FaceFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceFrame): google.cloud.videointelligence.v1beta2.FaceFrame; + + /** + * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages. + * @param message FaceFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages. + * @param message FaceFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceFrame; + + /** + * Decodes a FaceFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceFrame; + + /** + * Verifies a FaceFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceFrame; + + /** + * Creates a plain object from a FaceFrame message. Also converts values to other types if specified. + * @param message FaceFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.FaceFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation thumbnail */ + thumbnail?: (Uint8Array|null); + + /** FaceAnnotation segments */ + segments?: (google.cloud.videointelligence.v1beta2.IFaceSegment[]|null); + + /** FaceAnnotation frames */ + frames?: (google.cloud.videointelligence.v1beta2.IFaceFrame[]|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceAnnotation); + + /** FaceAnnotation thumbnail. */ + public thumbnail: Uint8Array; + + /** FaceAnnotation segments. */ + public segments: google.cloud.videointelligence.v1beta2.IFaceSegment[]; + + /** FaceAnnotation frames. */ + public frames: google.cloud.videointelligence.v1beta2.IFaceFrame[]; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceAnnotation): google.cloud.videointelligence.v1beta2.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.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.videointelligence.v1beta2.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.videointelligence.v1beta2.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.videointelligence.v1beta2.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.videointelligence.v1beta2.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults segmentLabelAnnotations */ + segmentLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotLabelAnnotations */ + shotLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null); + + /** VideoAnnotationResults frameLabelAnnotations */ + frameLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null); + + /** VideoAnnotationResults faceAnnotations */ + faceAnnotations?: (google.cloud.videointelligence.v1beta2.IFaceAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1beta2.IVideoSegment[]|null); + + /** VideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults segmentLabelAnnotations. */ + public segmentLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[]; + + /** VideoAnnotationResults shotLabelAnnotations. */ + public shotLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[]; + + /** VideoAnnotationResults frameLabelAnnotations. */ + public frameLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[]; + + /** VideoAnnotationResults faceAnnotations. */ + public faceAnnotations: google.cloud.videointelligence.v1beta2.IFaceAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1beta2.IVideoSegment[]; + + /** VideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults): google.cloud.videointelligence.v1beta2.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1beta2.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + FACE_DETECTION = 4 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + } + + /** Namespace v1p1beta1. */ + namespace v1p1beta1 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1p1beta1.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1p1beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1p1beta1.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1p1beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment[]|null); + + /** VideoContext labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig */ + speechTranscriptionConfig?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1p1beta1.IVideoSegment[]; + + /** VideoContext labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig. */ + public speechTranscriptionConfig?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null); + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoContext): google.cloud.videointelligence.v1p1beta1.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelDetectionConfig. */ + interface ILabelDetectionConfig { + + /** LabelDetectionConfig labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|null); + + /** LabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** LabelDetectionConfig model */ + model?: (string|null); + } + + /** Represents a LabelDetectionConfig. */ + class LabelDetectionConfig implements ILabelDetectionConfig { + + /** + * Constructs a new LabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig); + + /** LabelDetectionConfig labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1p1beta1.LabelDetectionMode; + + /** LabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** LabelDetectionConfig model. */ + public model: string; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig; + + /** + * Verifies a LabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @param message LabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShotChangeDetectionConfig. */ + interface IShotChangeDetectionConfig { + + /** ShotChangeDetectionConfig model */ + model?: (string|null); + } + + /** Represents a ShotChangeDetectionConfig. */ + class ShotChangeDetectionConfig implements IShotChangeDetectionConfig { + + /** + * Constructs a new ShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig); + + /** ShotChangeDetectionConfig model. */ + public model: string; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message ShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { + + /** ExplicitContentDetectionConfig model */ + model?: (string|null); + } + + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig); + + /** ExplicitContentDetectionConfig model. */ + public model: string; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoSegment): google.cloud.videointelligence.v1p1beta1.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelSegment. */ + interface ILabelSegment { + + /** LabelSegment segment */ + segment?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment|null); + + /** LabelSegment confidence */ + confidence?: (number|null); + } + + /** Represents a LabelSegment. */ + class LabelSegment implements ILabelSegment { + + /** + * Constructs a new LabelSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelSegment); + + /** LabelSegment segment. */ + public segment?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment|null); + + /** LabelSegment confidence. */ + public confidence: number; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelSegment): google.cloud.videointelligence.v1p1beta1.LabelSegment; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelSegment; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelSegment; + + /** + * Verifies a LabelSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelSegment; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @param message LabelSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelFrame. */ + interface ILabelFrame { + + /** LabelFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence */ + confidence?: (number|null); + } + + /** Represents a LabelFrame. */ + class LabelFrame implements ILabelFrame { + + /** + * Constructs a new LabelFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelFrame); + + /** LabelFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence. */ + public confidence: number; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelFrame): google.cloud.videointelligence.v1p1beta1.LabelFrame; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelFrame; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelFrame; + + /** + * Verifies a LabelFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelFrame; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @param message LabelFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Entity. */ + interface IEntity { + + /** Entity entityId */ + entityId?: (string|null); + + /** Entity description */ + description?: (string|null); + + /** Entity languageCode */ + languageCode?: (string|null); + } + + /** Represents an Entity. */ + class Entity implements IEntity { + + /** + * Constructs a new Entity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IEntity); + + /** Entity entityId. */ + public entityId: string; + + /** Entity description. */ + public description: string; + + /** Entity languageCode. */ + public languageCode: string; + + /** + * Creates a new Entity instance using the specified properties. + * @param [properties] Properties to set + * @returns Entity instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IEntity): google.cloud.videointelligence.v1p1beta1.Entity; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.Entity; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.Entity; + + /** + * Verifies an Entity message. + * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Entity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.Entity; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @param message Entity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Entity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p1beta1.IEntity|null); + + /** LabelAnnotation categoryEntities */ + categoryEntities?: (google.cloud.videointelligence.v1p1beta1.IEntity[]|null); + + /** LabelAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p1beta1.ILabelSegment[]|null); + + /** LabelAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p1beta1.ILabelFrame[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation); + + /** LabelAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p1beta1.IEntity|null); + + /** LabelAnnotation categoryEntities. */ + public categoryEntities: google.cloud.videointelligence.v1p1beta1.IEntity[]; + + /** LabelAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p1beta1.ILabelSegment[]; + + /** LabelAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p1beta1.ILabelFrame[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation): google.cloud.videointelligence.v1p1beta1.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentFrame. */ + interface IExplicitContentFrame { + + /** ExplicitContentFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood */ + pornographyLikelihood?: (google.cloud.videointelligence.v1p1beta1.Likelihood|null); + } + + /** Represents an ExplicitContentFrame. */ + class ExplicitContentFrame implements IExplicitContentFrame { + + /** + * Constructs a new ExplicitContentFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame); + + /** ExplicitContentFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood. */ + public pornographyLikelihood: google.cloud.videointelligence.v1p1beta1.Likelihood; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame; + + /** + * Verifies an ExplicitContentFrame message. + * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @param message ExplicitContentFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentAnnotation. */ + interface IExplicitContentAnnotation { + + /** ExplicitContentAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame[]|null); + } + + /** Represents an ExplicitContentAnnotation. */ + class ExplicitContentAnnotation implements IExplicitContentAnnotation { + + /** + * Constructs a new ExplicitContentAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation); + + /** ExplicitContentAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame[]; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation; + + /** + * Verifies an ExplicitContentAnnotation message. + * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @param message ExplicitContentAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults segmentLabelAnnotations */ + segmentLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotLabelAnnotations */ + shotLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults frameLabelAnnotations */ + frameLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment[]|null); + + /** VideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions */ + speechTranscriptions?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscription[]|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults segmentLabelAnnotations. */ + public segmentLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotLabelAnnotations. */ + public shotLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults frameLabelAnnotations. */ + public frameLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1p1beta1.IVideoSegment[]; + + /** VideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions. */ + public speechTranscriptions: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription[]; + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscriptionConfig. */ + interface ISpeechTranscriptionConfig { + + /** SpeechTranscriptionConfig languageCode */ + languageCode?: (string|null); + + /** SpeechTranscriptionConfig maxAlternatives */ + maxAlternatives?: (number|null); + + /** SpeechTranscriptionConfig filterProfanity */ + filterProfanity?: (boolean|null); + + /** SpeechTranscriptionConfig speechContexts */ + speechContexts?: (google.cloud.videointelligence.v1p1beta1.ISpeechContext[]|null); + + /** SpeechTranscriptionConfig enableAutomaticPunctuation */ + enableAutomaticPunctuation?: (boolean|null); + + /** SpeechTranscriptionConfig audioTracks */ + audioTracks?: (number[]|null); + } + + /** Represents a SpeechTranscriptionConfig. */ + class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig { + + /** + * Constructs a new SpeechTranscriptionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig); + + /** SpeechTranscriptionConfig languageCode. */ + public languageCode: string; + + /** SpeechTranscriptionConfig maxAlternatives. */ + public maxAlternatives: number; + + /** SpeechTranscriptionConfig filterProfanity. */ + public filterProfanity: boolean; + + /** SpeechTranscriptionConfig speechContexts. */ + public speechContexts: google.cloud.videointelligence.v1p1beta1.ISpeechContext[]; + + /** SpeechTranscriptionConfig enableAutomaticPunctuation. */ + public enableAutomaticPunctuation: boolean; + + /** SpeechTranscriptionConfig audioTracks. */ + public audioTracks: number[]; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscriptionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscriptionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @param message SpeechTranscriptionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechContext. */ + interface ISpeechContext { + + /** SpeechContext phrases */ + phrases?: (string[]|null); + } + + /** Represents a SpeechContext. */ + class SpeechContext implements ISpeechContext { + + /** + * Constructs a new SpeechContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechContext); + + /** SpeechContext phrases. */ + public phrases: string[]; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechContext): google.cloud.videointelligence.v1p1beta1.SpeechContext; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechContext; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechContext; + + /** + * Verifies a SpeechContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechContext; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @param message SpeechContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscription. */ + interface ISpeechTranscription { + + /** SpeechTranscription alternatives */ + alternatives?: (google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative[]|null); + } + + /** Represents a SpeechTranscription. */ + class SpeechTranscription implements ISpeechTranscription { + + /** + * Constructs a new SpeechTranscription. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription); + + /** SpeechTranscription alternatives. */ + public alternatives: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative[]; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscription instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription): google.cloud.videointelligence.v1p1beta1.SpeechTranscription; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechTranscription; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechTranscription; + + /** + * Verifies a SpeechTranscription message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscription + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechTranscription; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @param message SpeechTranscription + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscription to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechRecognitionAlternative. */ + interface ISpeechRecognitionAlternative { + + /** SpeechRecognitionAlternative transcript */ + transcript?: (string|null); + + /** SpeechRecognitionAlternative confidence */ + confidence?: (number|null); + + /** SpeechRecognitionAlternative words */ + words?: (google.cloud.videointelligence.v1p1beta1.IWordInfo[]|null); + } + + /** Represents a SpeechRecognitionAlternative. */ + class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative { + + /** + * Constructs a new SpeechRecognitionAlternative. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative); + + /** SpeechRecognitionAlternative transcript. */ + public transcript: string; + + /** SpeechRecognitionAlternative confidence. */ + public confidence: number; + + /** SpeechRecognitionAlternative words. */ + public words: google.cloud.videointelligence.v1p1beta1.IWordInfo[]; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechRecognitionAlternative instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechRecognitionAlternative + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @param message SpeechRecognitionAlternative + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WordInfo. */ + interface IWordInfo { + + /** WordInfo startTime */ + startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime */ + endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word */ + word?: (string|null); + } + + /** Represents a WordInfo. */ + class WordInfo implements IWordInfo { + + /** + * Constructs a new WordInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p1beta1.IWordInfo); + + /** WordInfo startTime. */ + public startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime. */ + public endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word. */ + public word: string; + + /** + * Creates a new WordInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns WordInfo instance + */ + public static create(properties?: google.cloud.videointelligence.v1p1beta1.IWordInfo): google.cloud.videointelligence.v1p1beta1.WordInfo; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p1beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.WordInfo; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.WordInfo; + + /** + * Verifies a WordInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WordInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.WordInfo; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @param message WordInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p1beta1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WordInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + SPEECH_TRANSCRIPTION = 6 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + } + + /** Namespace v1p2beta1. */ + namespace v1p2beta1 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1p2beta1.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1p2beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1p2beta1.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1p2beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment[]|null); + + /** VideoContext labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext textDetectionConfig */ + textDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1p2beta1.IVideoSegment[]; + + /** VideoContext labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext textDetectionConfig. */ + public textDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null); + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoContext): google.cloud.videointelligence.v1p2beta1.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelDetectionConfig. */ + interface ILabelDetectionConfig { + + /** LabelDetectionConfig labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|null); + + /** LabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** LabelDetectionConfig model */ + model?: (string|null); + } + + /** Represents a LabelDetectionConfig. */ + class LabelDetectionConfig implements ILabelDetectionConfig { + + /** + * Constructs a new LabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig); + + /** LabelDetectionConfig labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1p2beta1.LabelDetectionMode; + + /** LabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** LabelDetectionConfig model. */ + public model: string; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig; + + /** + * Verifies a LabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @param message LabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShotChangeDetectionConfig. */ + interface IShotChangeDetectionConfig { + + /** ShotChangeDetectionConfig model */ + model?: (string|null); + } + + /** Represents a ShotChangeDetectionConfig. */ + class ShotChangeDetectionConfig implements IShotChangeDetectionConfig { + + /** + * Constructs a new ShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig); + + /** ShotChangeDetectionConfig model. */ + public model: string; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message ShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { + + /** ExplicitContentDetectionConfig model */ + model?: (string|null); + } + + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig); + + /** ExplicitContentDetectionConfig model. */ + public model: string; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextDetectionConfig. */ + interface ITextDetectionConfig { + + /** TextDetectionConfig languageHints */ + languageHints?: (string[]|null); + } + + /** Represents a TextDetectionConfig. */ + class TextDetectionConfig implements ITextDetectionConfig { + + /** + * Constructs a new TextDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig); + + /** TextDetectionConfig languageHints. */ + public languageHints: string[]; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig; + + /** + * Verifies a TextDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @param message TextDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoSegment): google.cloud.videointelligence.v1p2beta1.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelSegment. */ + interface ILabelSegment { + + /** LabelSegment segment */ + segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** LabelSegment confidence */ + confidence?: (number|null); + } + + /** Represents a LabelSegment. */ + class LabelSegment implements ILabelSegment { + + /** + * Constructs a new LabelSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelSegment); + + /** LabelSegment segment. */ + public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** LabelSegment confidence. */ + public confidence: number; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelSegment): google.cloud.videointelligence.v1p2beta1.LabelSegment; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelSegment; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelSegment; + + /** + * Verifies a LabelSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelSegment; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @param message LabelSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelFrame. */ + interface ILabelFrame { + + /** LabelFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence */ + confidence?: (number|null); + } + + /** Represents a LabelFrame. */ + class LabelFrame implements ILabelFrame { + + /** + * Constructs a new LabelFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelFrame); + + /** LabelFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence. */ + public confidence: number; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelFrame): google.cloud.videointelligence.v1p2beta1.LabelFrame; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelFrame; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelFrame; + + /** + * Verifies a LabelFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelFrame; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @param message LabelFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Entity. */ + interface IEntity { + + /** Entity entityId */ + entityId?: (string|null); + + /** Entity description */ + description?: (string|null); + + /** Entity languageCode */ + languageCode?: (string|null); + } + + /** Represents an Entity. */ + class Entity implements IEntity { + + /** + * Constructs a new Entity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IEntity); + + /** Entity entityId. */ + public entityId: string; + + /** Entity description. */ + public description: string; + + /** Entity languageCode. */ + public languageCode: string; + + /** + * Creates a new Entity instance using the specified properties. + * @param [properties] Properties to set + * @returns Entity instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IEntity): google.cloud.videointelligence.v1p2beta1.Entity; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.Entity; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.Entity; + + /** + * Verifies an Entity message. + * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Entity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.Entity; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @param message Entity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Entity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); + + /** LabelAnnotation categoryEntities */ + categoryEntities?: (google.cloud.videointelligence.v1p2beta1.IEntity[]|null); + + /** LabelAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p2beta1.ILabelSegment[]|null); + + /** LabelAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p2beta1.ILabelFrame[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation); + + /** LabelAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); + + /** LabelAnnotation categoryEntities. */ + public categoryEntities: google.cloud.videointelligence.v1p2beta1.IEntity[]; + + /** LabelAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p2beta1.ILabelSegment[]; + + /** LabelAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p2beta1.ILabelFrame[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation): google.cloud.videointelligence.v1p2beta1.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentFrame. */ + interface IExplicitContentFrame { + + /** ExplicitContentFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood */ + pornographyLikelihood?: (google.cloud.videointelligence.v1p2beta1.Likelihood|null); + } + + /** Represents an ExplicitContentFrame. */ + class ExplicitContentFrame implements IExplicitContentFrame { + + /** + * Constructs a new ExplicitContentFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame); + + /** ExplicitContentFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood. */ + public pornographyLikelihood: google.cloud.videointelligence.v1p2beta1.Likelihood; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame; + + /** + * Verifies an ExplicitContentFrame message. + * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @param message ExplicitContentFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentAnnotation. */ + interface IExplicitContentAnnotation { + + /** ExplicitContentAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame[]|null); + } + + /** Represents an ExplicitContentAnnotation. */ + class ExplicitContentAnnotation implements IExplicitContentAnnotation { + + /** + * Constructs a new ExplicitContentAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation); + + /** ExplicitContentAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame[]; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation; + + /** + * Verifies an ExplicitContentAnnotation message. + * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @param message ExplicitContentAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingBox. */ + interface INormalizedBoundingBox { + + /** NormalizedBoundingBox left */ + left?: (number|null); + + /** NormalizedBoundingBox top */ + top?: (number|null); + + /** NormalizedBoundingBox right */ + right?: (number|null); + + /** NormalizedBoundingBox bottom */ + bottom?: (number|null); + } + + /** Represents a NormalizedBoundingBox. */ + class NormalizedBoundingBox implements INormalizedBoundingBox { + + /** + * Constructs a new NormalizedBoundingBox. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox); + + /** NormalizedBoundingBox left. */ + public left: number; + + /** NormalizedBoundingBox top. */ + public top: number; + + /** NormalizedBoundingBox right. */ + public right: number; + + /** NormalizedBoundingBox bottom. */ + public bottom: number; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingBox instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox; + + /** + * Verifies a NormalizedBoundingBox message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingBox + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @param message NormalizedBoundingBox + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults segmentLabelAnnotations */ + segmentLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotLabelAnnotations */ + shotLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults frameLabelAnnotations */ + frameLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment[]|null); + + /** VideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults textAnnotations */ + textAnnotations?: (google.cloud.videointelligence.v1p2beta1.ITextAnnotation[]|null); + + /** VideoAnnotationResults objectAnnotations */ + objectAnnotations?: (google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation[]|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults segmentLabelAnnotations. */ + public segmentLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotLabelAnnotations. */ + public shotLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults frameLabelAnnotations. */ + public frameLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1p2beta1.IVideoSegment[]; + + /** VideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults textAnnotations. */ + public textAnnotations: google.cloud.videointelligence.v1p2beta1.ITextAnnotation[]; + + /** VideoAnnotationResults objectAnnotations. */ + public objectAnnotations: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation[]; + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress 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.videointelligence.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.videointelligence.v1p2beta1.INormalizedVertex): google.cloud.videointelligence.v1p2beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingPoly. */ + interface INormalizedBoundingPoly { + + /** NormalizedBoundingPoly vertices */ + vertices?: (google.cloud.videointelligence.v1p2beta1.INormalizedVertex[]|null); + } + + /** Represents a NormalizedBoundingPoly. */ + class NormalizedBoundingPoly implements INormalizedBoundingPoly { + + /** + * Constructs a new NormalizedBoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly); + + /** NormalizedBoundingPoly vertices. */ + public vertices: google.cloud.videointelligence.v1p2beta1.INormalizedVertex[]; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingPoly instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextSegment. */ + interface ITextSegment { + + /** TextSegment segment */ + segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** TextSegment confidence */ + confidence?: (number|null); + + /** TextSegment frames */ + frames?: (google.cloud.videointelligence.v1p2beta1.ITextFrame[]|null); + } + + /** Represents a TextSegment. */ + class TextSegment implements ITextSegment { + + /** + * Constructs a new TextSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextSegment); + + /** TextSegment segment. */ + public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** TextSegment confidence. */ + public confidence: number; + + /** TextSegment frames. */ + public frames: google.cloud.videointelligence.v1p2beta1.ITextFrame[]; + + /** + * Creates a new TextSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns TextSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextSegment): google.cloud.videointelligence.v1p2beta1.TextSegment; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextSegment; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextSegment; + + /** + * Verifies a TextSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextSegment; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @param message TextSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextFrame. */ + interface ITextFrame { + + /** TextFrame rotatedBoundingBox */ + rotatedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a TextFrame. */ + class TextFrame implements ITextFrame { + + /** + * Constructs a new TextFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextFrame); + + /** TextFrame rotatedBoundingBox. */ + public rotatedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new TextFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns TextFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextFrame): google.cloud.videointelligence.v1p2beta1.TextFrame; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextFrame; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextFrame; + + /** + * Verifies a TextFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextFrame; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @param message TextFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation text */ + text?: (string|null); + + /** TextAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p2beta1.ITextSegment[]|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextAnnotation); + + /** TextAnnotation text. */ + public text: string; + + /** TextAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p2beta1.ITextSegment[]; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextAnnotation): google.cloud.videointelligence.v1p2beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1p2beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p2beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingFrame. */ + interface IObjectTrackingFrame { + + /** ObjectTrackingFrame normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents an ObjectTrackingFrame. */ + class ObjectTrackingFrame implements IObjectTrackingFrame { + + /** + * Constructs a new ObjectTrackingFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame); + + /** ObjectTrackingFrame normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame; + + /** + * Verifies an ObjectTrackingFrame message. + * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @param message ObjectTrackingFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingAnnotation. */ + interface IObjectTrackingAnnotation { + + /** ObjectTrackingAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); + + /** ObjectTrackingAnnotation confidence */ + confidence?: (number|null); + + /** ObjectTrackingAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[]|null); + + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + } + + /** Represents an ObjectTrackingAnnotation. */ + class ObjectTrackingAnnotation implements IObjectTrackingAnnotation { + + /** + * Constructs a new ObjectTrackingAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation); + + /** ObjectTrackingAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); + + /** ObjectTrackingAnnotation confidence. */ + public confidence: number; + + /** ObjectTrackingAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[]; + + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @param message ObjectTrackingAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + TEXT_DETECTION = 7, + OBJECT_TRACKING = 9 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + } + + /** Namespace v1p3beta1. */ + namespace v1p3beta1 { + + /** Represents a VideoIntelligenceService */ + class VideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public annotateVideo(request: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideoCallback): void; + + /** + * Calls AnnotateVideo. + * @param request AnnotateVideoRequest message or plain object + * @returns Promise + */ + public annotateVideo(request: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest): Promise; + } + + namespace VideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService#annotateVideo}. + * @param error Error, if any + * @param [response] Operation + */ + type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Represents a StreamingVideoIntelligenceService */ + class StreamingVideoIntelligenceService extends $protobuf.rpc.Service { + + /** + * Constructs a new StreamingVideoIntelligenceService 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 StreamingVideoIntelligenceService 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): StreamingVideoIntelligenceService; + + /** + * Calls StreamingAnnotateVideo. + * @param request StreamingAnnotateVideoRequest message or plain object + * @param callback Node-style callback called with the error, if any, and StreamingAnnotateVideoResponse + */ + public streamingAnnotateVideo(request: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideoCallback): void; + + /** + * Calls StreamingAnnotateVideo. + * @param request StreamingAnnotateVideoRequest message or plain object + * @returns Promise + */ + public streamingAnnotateVideo(request: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest): Promise; + } + + namespace StreamingVideoIntelligenceService { + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService#streamingAnnotateVideo}. + * @param error Error, if any + * @param [response] StreamingAnnotateVideoResponse + */ + type StreamingAnnotateVideoCallback = (error: (Error|null), response?: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse) => void; + } + + /** Properties of an AnnotateVideoRequest. */ + interface IAnnotateVideoRequest { + + /** AnnotateVideoRequest inputUri */ + inputUri?: (string|null); + + /** AnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + + /** AnnotateVideoRequest features */ + features?: (google.cloud.videointelligence.v1p3beta1.Feature[]|null); + + /** AnnotateVideoRequest videoContext */ + videoContext?: (google.cloud.videointelligence.v1p3beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri */ + outputUri?: (string|null); + + /** AnnotateVideoRequest locationId */ + locationId?: (string|null); + } + + /** Represents an AnnotateVideoRequest. */ + class AnnotateVideoRequest implements IAnnotateVideoRequest { + + /** + * Constructs a new AnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest); + + /** AnnotateVideoRequest inputUri. */ + public inputUri: string; + + /** AnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** AnnotateVideoRequest features. */ + public features: google.cloud.videointelligence.v1p3beta1.Feature[]; + + /** AnnotateVideoRequest videoContext. */ + public videoContext?: (google.cloud.videointelligence.v1p3beta1.IVideoContext|null); + + /** AnnotateVideoRequest outputUri. */ + public outputUri: string; + + /** AnnotateVideoRequest locationId. */ + public locationId: string; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages. + * @param message AnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; + + /** + * Verifies an AnnotateVideoRequest message. + * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @param message AnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoContext. */ + interface IVideoContext { + + /** VideoContext segments */ + segments?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); + + /** VideoContext labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig */ + speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null); + + /** VideoContext textDetectionConfig */ + textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null); + + /** VideoContext objectTrackingConfig */ + objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null); + } + + /** Represents a VideoContext. */ + class VideoContext implements IVideoContext { + + /** + * Constructs a new VideoContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoContext); + + /** VideoContext segments. */ + public segments: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; + + /** VideoContext labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null); + + /** VideoContext shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null); + + /** VideoContext explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null); + + /** VideoContext speechTranscriptionConfig. */ + public speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null); + + /** VideoContext textDetectionConfig. */ + public textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null); + + /** VideoContext objectTrackingConfig. */ + public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null); + + /** + * Creates a new VideoContext instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoContext): google.cloud.videointelligence.v1p3beta1.VideoContext; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages. + * @param message VideoContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoContext; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoContext; + + /** + * Verifies a VideoContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoContext; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @param message VideoContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelDetectionConfig. */ + interface ILabelDetectionConfig { + + /** LabelDetectionConfig labelDetectionMode */ + labelDetectionMode?: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|null); + + /** LabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + + /** LabelDetectionConfig model */ + model?: (string|null); + + /** LabelDetectionConfig frameConfidenceThreshold */ + frameConfidenceThreshold?: (number|null); + + /** LabelDetectionConfig videoConfidenceThreshold */ + videoConfidenceThreshold?: (number|null); + } + + /** Represents a LabelDetectionConfig. */ + class LabelDetectionConfig implements ILabelDetectionConfig { + + /** + * Constructs a new LabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig); + + /** LabelDetectionConfig labelDetectionMode. */ + public labelDetectionMode: google.cloud.videointelligence.v1p3beta1.LabelDetectionMode; + + /** LabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** LabelDetectionConfig model. */ + public model: string; + + /** LabelDetectionConfig frameConfidenceThreshold. */ + public frameConfidenceThreshold: number; + + /** LabelDetectionConfig videoConfidenceThreshold. */ + public videoConfidenceThreshold: number; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages. + * @param message LabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig; + + /** + * Verifies a LabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @param message LabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ShotChangeDetectionConfig. */ + interface IShotChangeDetectionConfig { + + /** ShotChangeDetectionConfig model */ + model?: (string|null); + } + + /** Represents a ShotChangeDetectionConfig. */ + class ShotChangeDetectionConfig implements IShotChangeDetectionConfig { + + /** + * Constructs a new ShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig); + + /** ShotChangeDetectionConfig model. */ + public model: string; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @param message ShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message ShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingConfig. */ + interface IObjectTrackingConfig { + + /** ObjectTrackingConfig model */ + model?: (string|null); + } + + /** Represents an ObjectTrackingConfig. */ + class ObjectTrackingConfig implements IObjectTrackingConfig { + + /** + * Constructs a new ObjectTrackingConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig); + + /** ObjectTrackingConfig model. */ + public model: string; + + /** + * Creates a new ObjectTrackingConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig; + + /** + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig; + + /** + * Verifies an ObjectTrackingConfig message. + * @param message Plain 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 ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig; + + /** + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * @param message ObjectTrackingConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { + + /** ExplicitContentDetectionConfig model */ + model?: (string|null); + } + + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig); + + /** ExplicitContentDetectionConfig model. */ + public model: string; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextDetectionConfig. */ + interface ITextDetectionConfig { + + /** TextDetectionConfig languageHints */ + languageHints?: (string[]|null); + + /** TextDetectionConfig model */ + model?: (string|null); + } + + /** Represents a TextDetectionConfig. */ + class TextDetectionConfig implements ITextDetectionConfig { + + /** + * Constructs a new TextDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig); + + /** TextDetectionConfig languageHints. */ + public languageHints: string[]; + + /** TextDetectionConfig model. */ + public model: string; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * @param message TextDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig; + + /** + * Verifies a TextDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @param message TextDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoSegment. */ + interface IVideoSegment { + + /** VideoSegment startTimeOffset */ + startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset */ + endTimeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a VideoSegment. */ + class VideoSegment implements IVideoSegment { + + /** + * Constructs a new VideoSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoSegment); + + /** VideoSegment startTimeOffset. */ + public startTimeOffset?: (google.protobuf.IDuration|null); + + /** VideoSegment endTimeOffset. */ + public endTimeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new VideoSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoSegment): google.cloud.videointelligence.v1p3beta1.VideoSegment; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * @param message VideoSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoSegment; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoSegment; + + /** + * Verifies a VideoSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoSegment; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @param message VideoSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelSegment. */ + interface ILabelSegment { + + /** LabelSegment segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** LabelSegment confidence */ + confidence?: (number|null); + } + + /** Represents a LabelSegment. */ + class LabelSegment implements ILabelSegment { + + /** + * Constructs a new LabelSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelSegment); + + /** LabelSegment segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** LabelSegment confidence. */ + public confidence: number; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelSegment): google.cloud.videointelligence.v1p3beta1.LabelSegment; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * @param message LabelSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelSegment; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelSegment; + + /** + * Verifies a LabelSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelSegment; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @param message LabelSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelFrame. */ + interface ILabelFrame { + + /** LabelFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence */ + confidence?: (number|null); + } + + /** Represents a LabelFrame. */ + class LabelFrame implements ILabelFrame { + + /** + * Constructs a new LabelFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelFrame); + + /** LabelFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** LabelFrame confidence. */ + public confidence: number; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelFrame): google.cloud.videointelligence.v1p3beta1.LabelFrame; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * @param message LabelFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelFrame; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelFrame; + + /** + * Verifies a LabelFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelFrame; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @param message LabelFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Entity. */ + interface IEntity { + + /** Entity entityId */ + entityId?: (string|null); + + /** Entity description */ + description?: (string|null); + + /** Entity languageCode */ + languageCode?: (string|null); + } + + /** Represents an Entity. */ + class Entity implements IEntity { + + /** + * Constructs a new Entity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IEntity); + + /** Entity entityId. */ + public entityId: string; + + /** Entity description. */ + public description: string; + + /** Entity languageCode. */ + public languageCode: string; + + /** + * Creates a new Entity instance using the specified properties. + * @param [properties] Properties to set + * @returns Entity instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IEntity): google.cloud.videointelligence.v1p3beta1.Entity; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * @param message Entity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.Entity; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.Entity; + + /** + * Verifies an Entity message. + * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Entity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.Entity; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @param message Entity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Entity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LabelAnnotation. */ + interface ILabelAnnotation { + + /** LabelAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** LabelAnnotation categoryEntities */ + categoryEntities?: (google.cloud.videointelligence.v1p3beta1.IEntity[]|null); + + /** LabelAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p3beta1.ILabelSegment[]|null); + + /** LabelAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p3beta1.ILabelFrame[]|null); + } + + /** Represents a LabelAnnotation. */ + class LabelAnnotation implements ILabelAnnotation { + + /** + * Constructs a new LabelAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation); + + /** LabelAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** LabelAnnotation categoryEntities. */ + public categoryEntities: google.cloud.videointelligence.v1p3beta1.IEntity[]; + + /** LabelAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p3beta1.ILabelSegment[]; + + /** LabelAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p3beta1.ILabelFrame[]; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation): google.cloud.videointelligence.v1p3beta1.LabelAnnotation; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * @param message LabelAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelAnnotation; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelAnnotation; + + /** + * Verifies a LabelAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelAnnotation; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @param message LabelAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentFrame. */ + interface IExplicitContentFrame { + + /** ExplicitContentFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood */ + pornographyLikelihood?: (google.cloud.videointelligence.v1p3beta1.Likelihood|null); + } + + /** Represents an ExplicitContentFrame. */ + class ExplicitContentFrame implements IExplicitContentFrame { + + /** + * Constructs a new ExplicitContentFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame); + + /** ExplicitContentFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** ExplicitContentFrame pornographyLikelihood. */ + public pornographyLikelihood: google.cloud.videointelligence.v1p3beta1.Likelihood; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * @param message ExplicitContentFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame; + + /** + * Verifies an ExplicitContentFrame message. + * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @param message ExplicitContentFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ExplicitContentAnnotation. */ + interface IExplicitContentAnnotation { + + /** ExplicitContentAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame[]|null); + } + + /** Represents an ExplicitContentAnnotation. */ + class ExplicitContentAnnotation implements IExplicitContentAnnotation { + + /** + * Constructs a new ExplicitContentAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation); + + /** ExplicitContentAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame[]; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ExplicitContentAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * @param message ExplicitContentAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation; + + /** + * Verifies an ExplicitContentAnnotation message. + * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExplicitContentAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @param message ExplicitContentAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingBox. */ + interface INormalizedBoundingBox { + + /** NormalizedBoundingBox left */ + left?: (number|null); + + /** NormalizedBoundingBox top */ + top?: (number|null); + + /** NormalizedBoundingBox right */ + right?: (number|null); + + /** NormalizedBoundingBox bottom */ + bottom?: (number|null); + } + + /** Represents a NormalizedBoundingBox. */ + class NormalizedBoundingBox implements INormalizedBoundingBox { + + /** + * Constructs a new NormalizedBoundingBox. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox); + + /** NormalizedBoundingBox left. */ + public left: number; + + /** NormalizedBoundingBox top. */ + public top: number; + + /** NormalizedBoundingBox right. */ + public right: number; + + /** NormalizedBoundingBox bottom. */ + public bottom: number; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingBox instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * @param message NormalizedBoundingBox message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox; + + /** + * Verifies a NormalizedBoundingBox message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingBox + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @param message NormalizedBoundingBox + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TimestampedObject. */ + interface ITimestampedObject { + + /** TimestampedObject normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null); + + /** TimestampedObject timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** TimestampedObject attributes */ + attributes?: (google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]|null); + } + + /** Represents a TimestampedObject. */ + class TimestampedObject implements ITimestampedObject { + + /** + * Constructs a new TimestampedObject. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITimestampedObject); + + /** TimestampedObject normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null); + + /** TimestampedObject timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** TimestampedObject attributes. */ + public attributes: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]; + + /** + * Creates a new TimestampedObject instance using the specified properties. + * @param [properties] Properties to set + * @returns TimestampedObject instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITimestampedObject): google.cloud.videointelligence.v1p3beta1.TimestampedObject; + + /** + * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * @param message TimestampedObject message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * @param message TimestampedObject message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TimestampedObject; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TimestampedObject; + + /** + * Verifies a TimestampedObject message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TimestampedObject + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TimestampedObject; + + /** + * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. + * @param message TimestampedObject + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.TimestampedObject, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TimestampedObject to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Track. */ + interface ITrack { + + /** Track segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** Track timestampedObjects */ + timestampedObjects?: (google.cloud.videointelligence.v1p3beta1.ITimestampedObject[]|null); + + /** Track attributes */ + attributes?: (google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]|null); + + /** Track confidence */ + confidence?: (number|null); + } + + /** Represents a Track. */ + class Track implements ITrack { + + /** + * Constructs a new Track. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITrack); + + /** Track segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** Track timestampedObjects. */ + public timestampedObjects: google.cloud.videointelligence.v1p3beta1.ITimestampedObject[]; + + /** Track attributes. */ + public attributes: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]; + + /** Track confidence. */ + public confidence: number; + + /** + * Creates a new Track instance using the specified properties. + * @param [properties] Properties to set + * @returns Track instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITrack): google.cloud.videointelligence.v1p3beta1.Track; + + /** + * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * @param message Track message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * @param message Track message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Track message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.Track; + + /** + * Decodes a Track message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.Track; + + /** + * Verifies a Track message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Track message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Track + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.Track; + + /** + * Creates a plain object from a Track message. Also converts values to other types if specified. + * @param message Track + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.Track, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Track to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedAttribute. */ + interface IDetectedAttribute { + + /** DetectedAttribute name */ + name?: (string|null); + + /** DetectedAttribute confidence */ + confidence?: (number|null); + + /** DetectedAttribute value */ + value?: (string|null); + } + + /** Represents a DetectedAttribute. */ + class DetectedAttribute implements IDetectedAttribute { + + /** + * Constructs a new DetectedAttribute. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute); + + /** DetectedAttribute name. */ + public name: string; + + /** DetectedAttribute confidence. */ + public confidence: number; + + /** DetectedAttribute value. */ + public value: string; + + /** + * Creates a new DetectedAttribute instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedAttribute instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute): google.cloud.videointelligence.v1p3beta1.DetectedAttribute; + + /** + * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * @param message DetectedAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * @param message DetectedAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.DetectedAttribute; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.DetectedAttribute; + + /** + * Verifies a DetectedAttribute message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedAttribute + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.DetectedAttribute; + + /** + * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. + * @param message DetectedAttribute + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.DetectedAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedAttribute to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationResults. */ + interface IVideoAnnotationResults { + + /** VideoAnnotationResults inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationResults segmentLabelAnnotations */ + segmentLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotLabelAnnotations */ + shotLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults frameLabelAnnotations */ + frameLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + + /** VideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); + + /** VideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions */ + speechTranscriptions?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscription[]|null); + + /** VideoAnnotationResults textAnnotations */ + textAnnotations?: (google.cloud.videointelligence.v1p3beta1.ITextAnnotation[]|null); + + /** VideoAnnotationResults objectAnnotations */ + objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null); + + /** VideoAnnotationResults logoRecognitionAnnotations */ + logoRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]|null); + + /** VideoAnnotationResults error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents a VideoAnnotationResults. */ + class VideoAnnotationResults implements IVideoAnnotationResults { + + /** + * Constructs a new VideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults); + + /** VideoAnnotationResults inputUri. */ + public inputUri: string; + + /** VideoAnnotationResults segmentLabelAnnotations. */ + public segmentLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotLabelAnnotations. */ + public shotLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults frameLabelAnnotations. */ + public frameLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + + /** VideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; + + /** VideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** VideoAnnotationResults speechTranscriptions. */ + public speechTranscriptions: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription[]; + + /** VideoAnnotationResults textAnnotations. */ + public textAnnotations: google.cloud.videointelligence.v1p3beta1.ITextAnnotation[]; + + /** VideoAnnotationResults objectAnnotations. */ + public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]; + + /** VideoAnnotationResults logoRecognitionAnnotations. */ + public logoRecognitionAnnotations: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]; + + /** VideoAnnotationResults error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @param message VideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; + + /** + * Verifies a VideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @param message VideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoResponse. */ + interface IAnnotateVideoResponse { + + /** AnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults[]|null); + } + + /** Represents an AnnotateVideoResponse. */ + class AnnotateVideoResponse implements IAnnotateVideoResponse { + + /** + * Constructs a new AnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse); + + /** AnnotateVideoResponse annotationResults. */ + public annotationResults: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults[]; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages. + * @param message AnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; + + /** + * Verifies an AnnotateVideoResponse message. + * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @param message AnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VideoAnnotationProgress. */ + interface IVideoAnnotationProgress { + + /** VideoAnnotationProgress inputUri */ + inputUri?: (string|null); + + /** VideoAnnotationProgress progressPercent */ + progressPercent?: (number|null); + + /** VideoAnnotationProgress startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a VideoAnnotationProgress. */ + class VideoAnnotationProgress implements IVideoAnnotationProgress { + + /** + * Constructs a new VideoAnnotationProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress); + + /** VideoAnnotationProgress inputUri. */ + public inputUri: string; + + /** VideoAnnotationProgress progressPercent. */ + public progressPercent: number; + + /** VideoAnnotationProgress startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns VideoAnnotationProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages. + * @param message VideoAnnotationProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress; + + /** + * Verifies a VideoAnnotationProgress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VideoAnnotationProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @param message VideoAnnotationProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateVideoProgress. */ + interface IAnnotateVideoProgress { + + /** AnnotateVideoProgress annotationProgress */ + annotationProgress?: (google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress[]|null); + } + + /** Represents an AnnotateVideoProgress. */ + class AnnotateVideoProgress implements IAnnotateVideoProgress { + + /** + * Constructs a new AnnotateVideoProgress. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress); + + /** AnnotateVideoProgress annotationProgress. */ + public annotationProgress: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress[]; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateVideoProgress instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages. + * @param message AnnotateVideoProgress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; + + /** + * Verifies an AnnotateVideoProgress message. + * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateVideoProgress + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @param message AnnotateVideoProgress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscriptionConfig. */ + interface ISpeechTranscriptionConfig { + + /** SpeechTranscriptionConfig languageCode */ + languageCode?: (string|null); + + /** SpeechTranscriptionConfig maxAlternatives */ + maxAlternatives?: (number|null); + + /** SpeechTranscriptionConfig filterProfanity */ + filterProfanity?: (boolean|null); + + /** SpeechTranscriptionConfig speechContexts */ + speechContexts?: (google.cloud.videointelligence.v1p3beta1.ISpeechContext[]|null); + + /** SpeechTranscriptionConfig enableAutomaticPunctuation */ + enableAutomaticPunctuation?: (boolean|null); + + /** SpeechTranscriptionConfig audioTracks */ + audioTracks?: (number[]|null); + + /** SpeechTranscriptionConfig enableSpeakerDiarization */ + enableSpeakerDiarization?: (boolean|null); + + /** SpeechTranscriptionConfig diarizationSpeakerCount */ + diarizationSpeakerCount?: (number|null); + + /** SpeechTranscriptionConfig enableWordConfidence */ + enableWordConfidence?: (boolean|null); + } + + /** Represents a SpeechTranscriptionConfig. */ + class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig { + + /** + * Constructs a new SpeechTranscriptionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig); + + /** SpeechTranscriptionConfig languageCode. */ + public languageCode: string; + + /** SpeechTranscriptionConfig maxAlternatives. */ + public maxAlternatives: number; + + /** SpeechTranscriptionConfig filterProfanity. */ + public filterProfanity: boolean; + + /** SpeechTranscriptionConfig speechContexts. */ + public speechContexts: google.cloud.videointelligence.v1p3beta1.ISpeechContext[]; + + /** SpeechTranscriptionConfig enableAutomaticPunctuation. */ + public enableAutomaticPunctuation: boolean; + + /** SpeechTranscriptionConfig audioTracks. */ + public audioTracks: number[]; + + /** SpeechTranscriptionConfig enableSpeakerDiarization. */ + public enableSpeakerDiarization: boolean; + + /** SpeechTranscriptionConfig diarizationSpeakerCount. */ + public diarizationSpeakerCount: number; + + /** SpeechTranscriptionConfig enableWordConfidence. */ + public enableWordConfidence: boolean; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscriptionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @param message SpeechTranscriptionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscriptionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @param message SpeechTranscriptionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechContext. */ + interface ISpeechContext { + + /** SpeechContext phrases */ + phrases?: (string[]|null); + } + + /** Represents a SpeechContext. */ + class SpeechContext implements ISpeechContext { + + /** + * Constructs a new SpeechContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechContext); + + /** SpeechContext phrases. */ + public phrases: string[]; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechContext instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechContext): google.cloud.videointelligence.v1p3beta1.SpeechContext; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages. + * @param message SpeechContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechContext; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechContext; + + /** + * Verifies a SpeechContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechContext; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @param message SpeechContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechTranscription. */ + interface ISpeechTranscription { + + /** SpeechTranscription alternatives */ + alternatives?: (google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative[]|null); + + /** SpeechTranscription languageCode */ + languageCode?: (string|null); + } + + /** Represents a SpeechTranscription. */ + class SpeechTranscription implements ISpeechTranscription { + + /** + * Constructs a new SpeechTranscription. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription); + + /** SpeechTranscription alternatives. */ + public alternatives: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative[]; + + /** SpeechTranscription languageCode. */ + public languageCode: string; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechTranscription instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription): google.cloud.videointelligence.v1p3beta1.SpeechTranscription; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages. + * @param message SpeechTranscription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechTranscription; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechTranscription; + + /** + * Verifies a SpeechTranscription message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechTranscription + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechTranscription; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @param message SpeechTranscription + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechTranscription to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SpeechRecognitionAlternative. */ + interface ISpeechRecognitionAlternative { + + /** SpeechRecognitionAlternative transcript */ + transcript?: (string|null); + + /** SpeechRecognitionAlternative confidence */ + confidence?: (number|null); + + /** SpeechRecognitionAlternative words */ + words?: (google.cloud.videointelligence.v1p3beta1.IWordInfo[]|null); + } + + /** Represents a SpeechRecognitionAlternative. */ + class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative { + + /** + * Constructs a new SpeechRecognitionAlternative. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative); + + /** SpeechRecognitionAlternative transcript. */ + public transcript: string; + + /** SpeechRecognitionAlternative confidence. */ + public confidence: number; + + /** SpeechRecognitionAlternative words. */ + public words: google.cloud.videointelligence.v1p3beta1.IWordInfo[]; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @param [properties] Properties to set + * @returns SpeechRecognitionAlternative instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @param message SpeechRecognitionAlternative message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SpeechRecognitionAlternative + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @param message SpeechRecognitionAlternative + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WordInfo. */ + interface IWordInfo { + + /** WordInfo startTime */ + startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime */ + endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word */ + word?: (string|null); + + /** WordInfo confidence */ + confidence?: (number|null); + + /** WordInfo speakerTag */ + speakerTag?: (number|null); + } + + /** Represents a WordInfo. */ + class WordInfo implements IWordInfo { + + /** + * Constructs a new WordInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IWordInfo); + + /** WordInfo startTime. */ + public startTime?: (google.protobuf.IDuration|null); + + /** WordInfo endTime. */ + public endTime?: (google.protobuf.IDuration|null); + + /** WordInfo word. */ + public word: string; + + /** WordInfo confidence. */ + public confidence: number; + + /** WordInfo speakerTag. */ + public speakerTag: number; + + /** + * Creates a new WordInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns WordInfo instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IWordInfo): google.cloud.videointelligence.v1p3beta1.WordInfo; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages. + * @param message WordInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.WordInfo; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.WordInfo; + + /** + * Verifies a WordInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WordInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.WordInfo; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @param message WordInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WordInfo 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.videointelligence.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.videointelligence.v1p3beta1.INormalizedVertex): google.cloud.videointelligence.v1p3beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingPoly. */ + interface INormalizedBoundingPoly { + + /** NormalizedBoundingPoly vertices */ + vertices?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex[]|null); + } + + /** Represents a NormalizedBoundingPoly. */ + class NormalizedBoundingPoly implements INormalizedBoundingPoly { + + /** + * Constructs a new NormalizedBoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly); + + /** NormalizedBoundingPoly vertices. */ + public vertices: google.cloud.videointelligence.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.videointelligence.v1p3beta1.INormalizedBoundingPoly): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextSegment. */ + interface ITextSegment { + + /** TextSegment segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** TextSegment confidence */ + confidence?: (number|null); + + /** TextSegment frames */ + frames?: (google.cloud.videointelligence.v1p3beta1.ITextFrame[]|null); + } + + /** Represents a TextSegment. */ + class TextSegment implements ITextSegment { + + /** + * Constructs a new TextSegment. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextSegment); + + /** TextSegment segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** TextSegment confidence. */ + public confidence: number; + + /** TextSegment frames. */ + public frames: google.cloud.videointelligence.v1p3beta1.ITextFrame[]; + + /** + * Creates a new TextSegment instance using the specified properties. + * @param [properties] Properties to set + * @returns TextSegment instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextSegment): google.cloud.videointelligence.v1p3beta1.TextSegment; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages. + * @param message TextSegment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextSegment; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextSegment; + + /** + * Verifies a TextSegment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextSegment + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextSegment; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @param message TextSegment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextSegment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextFrame. */ + interface ITextFrame { + + /** TextFrame rotatedBoundingBox */ + rotatedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents a TextFrame. */ + class TextFrame implements ITextFrame { + + /** + * Constructs a new TextFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextFrame); + + /** TextFrame rotatedBoundingBox. */ + public rotatedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null); + + /** TextFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new TextFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns TextFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextFrame): google.cloud.videointelligence.v1p3beta1.TextFrame; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages. + * @param message TextFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextFrame; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextFrame; + + /** + * Verifies a TextFrame message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextFrame; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @param message TextFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation text */ + text?: (string|null); + + /** TextAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p3beta1.ITextSegment[]|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextAnnotation); + + /** TextAnnotation text. */ + public text: string; + + /** TextAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p3beta1.ITextSegment[]; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextAnnotation): google.cloud.videointelligence.v1p3beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1p3beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingFrame. */ + interface IObjectTrackingFrame { + + /** ObjectTrackingFrame normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + } + + /** Represents an ObjectTrackingFrame. */ + class ObjectTrackingFrame implements IObjectTrackingFrame { + + /** + * Constructs a new ObjectTrackingFrame. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame); + + /** ObjectTrackingFrame normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null); + + /** ObjectTrackingFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingFrame instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame; + + /** + * Verifies an ObjectTrackingFrame message. + * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingFrame + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @param message ObjectTrackingFrame + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectTrackingAnnotation. */ + interface IObjectTrackingAnnotation { + + /** ObjectTrackingAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** ObjectTrackingAnnotation confidence */ + confidence?: (number|null); + + /** ObjectTrackingAnnotation frames */ + frames?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[]|null); + + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId */ + trackId?: (number|Long|null); + } + + /** Represents an ObjectTrackingAnnotation. */ + class ObjectTrackingAnnotation implements IObjectTrackingAnnotation { + + /** + * Constructs a new ObjectTrackingAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation); + + /** ObjectTrackingAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** ObjectTrackingAnnotation confidence. */ + public confidence: number; + + /** ObjectTrackingAnnotation frames. */ + public frames: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[]; + + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId. */ + public trackId: (number|Long); + + /** ObjectTrackingAnnotation trackInfo. */ + public trackInfo?: ("segment"|"trackId"); + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectTrackingAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectTrackingAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @param message ObjectTrackingAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LogoRecognitionAnnotation. */ + interface ILogoRecognitionAnnotation { + + /** LogoRecognitionAnnotation entity */ + entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** LogoRecognitionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null); + + /** LogoRecognitionAnnotation segments */ + segments?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); + } + + /** Represents a LogoRecognitionAnnotation. */ + class LogoRecognitionAnnotation implements ILogoRecognitionAnnotation { + + /** + * Constructs a new LogoRecognitionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation); + + /** LogoRecognitionAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); + + /** LogoRecognitionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[]; + + /** LogoRecognitionAnnotation segments. */ + public segments: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; + + /** + * Creates a new LogoRecognitionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LogoRecognitionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation; + + /** + * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages. + * @param message LogoRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages. + * @param message LogoRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation; + + /** + * Verifies a LogoRecognitionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LogoRecognitionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation; + + /** + * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified. + * @param message LogoRecognitionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LogoRecognitionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingAnnotateVideoRequest. */ + interface IStreamingAnnotateVideoRequest { + + /** StreamingAnnotateVideoRequest videoConfig */ + videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null); + + /** StreamingAnnotateVideoRequest inputContent */ + inputContent?: (Uint8Array|null); + } + + /** Represents a StreamingAnnotateVideoRequest. */ + class StreamingAnnotateVideoRequest implements IStreamingAnnotateVideoRequest { + + /** + * Constructs a new StreamingAnnotateVideoRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest); + + /** StreamingAnnotateVideoRequest videoConfig. */ + public videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null); + + /** StreamingAnnotateVideoRequest inputContent. */ + public inputContent: Uint8Array; + + /** StreamingAnnotateVideoRequest streamingRequest. */ + public streamingRequest?: ("videoConfig"|"inputContent"); + + /** + * Creates a new StreamingAnnotateVideoRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingAnnotateVideoRequest instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest; + + /** + * Encodes the specified StreamingAnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages. + * @param message StreamingAnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingAnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages. + * @param message StreamingAnnotateVideoRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingAnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest; + + /** + * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingAnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest; + + /** + * Verifies a StreamingAnnotateVideoRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingAnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingAnnotateVideoRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest; + + /** + * Creates a plain object from a StreamingAnnotateVideoRequest message. Also converts values to other types if specified. + * @param message StreamingAnnotateVideoRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingAnnotateVideoRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingAnnotateVideoResponse. */ + interface IStreamingAnnotateVideoResponse { + + /** StreamingAnnotateVideoResponse error */ + error?: (google.rpc.IStatus|null); + + /** StreamingAnnotateVideoResponse annotationResults */ + annotationResults?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null); + + /** StreamingAnnotateVideoResponse annotationResultsUri */ + annotationResultsUri?: (string|null); + } + + /** Represents a StreamingAnnotateVideoResponse. */ + class StreamingAnnotateVideoResponse implements IStreamingAnnotateVideoResponse { + + /** + * Constructs a new StreamingAnnotateVideoResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse); + + /** StreamingAnnotateVideoResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** StreamingAnnotateVideoResponse annotationResults. */ + public annotationResults?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null); + + /** StreamingAnnotateVideoResponse annotationResultsUri. */ + public annotationResultsUri: string; + + /** + * Creates a new StreamingAnnotateVideoResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingAnnotateVideoResponse instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse; + + /** + * Encodes the specified StreamingAnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * @param message StreamingAnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingAnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * @param message StreamingAnnotateVideoResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingAnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse; + + /** + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingAnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse; + + /** + * Verifies a StreamingAnnotateVideoResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingAnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingAnnotateVideoResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse; + + /** + * Creates a plain object from a StreamingAnnotateVideoResponse message. Also converts values to other types if specified. + * @param message StreamingAnnotateVideoResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingAnnotateVideoResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingAutomlClassificationConfig. */ + interface IStreamingAutomlClassificationConfig { + + /** StreamingAutomlClassificationConfig modelName */ + modelName?: (string|null); + } + + /** Represents a StreamingAutomlClassificationConfig. */ + class StreamingAutomlClassificationConfig implements IStreamingAutomlClassificationConfig { + + /** + * Constructs a new StreamingAutomlClassificationConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig); + + /** StreamingAutomlClassificationConfig modelName. */ + public modelName: string; + + /** + * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingAutomlClassificationConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + + /** + * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @param message StreamingAutomlClassificationConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @param message StreamingAutomlClassificationConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingAutomlClassificationConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + + /** + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingAutomlClassificationConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + + /** + * Verifies a StreamingAutomlClassificationConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingAutomlClassificationConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + + /** + * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. + * @param message StreamingAutomlClassificationConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingAutomlClassificationConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingAutomlObjectTrackingConfig. */ + interface IStreamingAutomlObjectTrackingConfig { + + /** StreamingAutomlObjectTrackingConfig modelName */ + modelName?: (string|null); + } + + /** Represents a StreamingAutomlObjectTrackingConfig. */ + class StreamingAutomlObjectTrackingConfig implements IStreamingAutomlObjectTrackingConfig { + + /** + * Constructs a new StreamingAutomlObjectTrackingConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig); + + /** StreamingAutomlObjectTrackingConfig modelName. */ + public modelName: string; + + /** + * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingAutomlObjectTrackingConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + + /** + * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingAutomlObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + + /** + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingAutomlObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + + /** + * Verifies a StreamingAutomlObjectTrackingConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingAutomlObjectTrackingConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + + /** + * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. + * @param message StreamingAutomlObjectTrackingConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingAutomlObjectTrackingConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingExplicitContentDetectionConfig. */ + interface IStreamingExplicitContentDetectionConfig { + } + + /** Represents a StreamingExplicitContentDetectionConfig. */ + class StreamingExplicitContentDetectionConfig implements IStreamingExplicitContentDetectionConfig { + + /** + * Constructs a new StreamingExplicitContentDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig); + + /** + * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingExplicitContentDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + + /** + * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @param message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @param message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + + /** + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + + /** + * Verifies a StreamingExplicitContentDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingExplicitContentDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + + /** + * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingExplicitContentDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingExplicitContentDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingLabelDetectionConfig. */ + interface IStreamingLabelDetectionConfig { + + /** StreamingLabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); + } + + /** Represents a StreamingLabelDetectionConfig. */ + class StreamingLabelDetectionConfig implements IStreamingLabelDetectionConfig { + + /** + * Constructs a new StreamingLabelDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig); + + /** StreamingLabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; + + /** + * Creates a new StreamingLabelDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingLabelDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + + /** + * Encodes the specified StreamingLabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @param message StreamingLabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingLabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @param message StreamingLabelDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingLabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + + /** + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingLabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + + /** + * Verifies a StreamingLabelDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingLabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingLabelDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + + /** + * Creates a plain object from a StreamingLabelDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingLabelDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingLabelDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingObjectTrackingConfig. */ + interface IStreamingObjectTrackingConfig { + } + + /** Represents a StreamingObjectTrackingConfig. */ + class StreamingObjectTrackingConfig implements IStreamingObjectTrackingConfig { + + /** + * Constructs a new StreamingObjectTrackingConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig); + + /** + * Creates a new StreamingObjectTrackingConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingObjectTrackingConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig; + + /** + * Encodes the specified StreamingObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * @param message StreamingObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * @param message StreamingObjectTrackingConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig; + + /** + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig; + + /** + * Verifies a StreamingObjectTrackingConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingObjectTrackingConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig; + + /** + * Creates a plain object from a StreamingObjectTrackingConfig message. Also converts values to other types if specified. + * @param message StreamingObjectTrackingConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingObjectTrackingConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingShotChangeDetectionConfig. */ + interface IStreamingShotChangeDetectionConfig { + } + + /** Represents a StreamingShotChangeDetectionConfig. */ + class StreamingShotChangeDetectionConfig implements IStreamingShotChangeDetectionConfig { + + /** + * Constructs a new StreamingShotChangeDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig); + + /** + * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingShotChangeDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + + /** + * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @param message StreamingShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @param message StreamingShotChangeDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + + /** + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + + /** + * Verifies a StreamingShotChangeDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingShotChangeDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + + /** + * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingShotChangeDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingShotChangeDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingStorageConfig. */ + interface IStreamingStorageConfig { + + /** StreamingStorageConfig enableStorageAnnotationResult */ + enableStorageAnnotationResult?: (boolean|null); + + /** StreamingStorageConfig annotationResultStorageDirectory */ + annotationResultStorageDirectory?: (string|null); + } + + /** Represents a StreamingStorageConfig. */ + class StreamingStorageConfig implements IStreamingStorageConfig { + + /** + * Constructs a new StreamingStorageConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig); + + /** StreamingStorageConfig enableStorageAnnotationResult. */ + public enableStorageAnnotationResult: boolean; + + /** StreamingStorageConfig annotationResultStorageDirectory. */ + public annotationResultStorageDirectory: string; + + /** + * Creates a new StreamingStorageConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingStorageConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + + /** + * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @param message StreamingStorageConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @param message StreamingStorageConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + + /** + * Verifies a StreamingStorageConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingStorageConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + + /** + * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. + * @param message StreamingStorageConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingStorageConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingVideoAnnotationResults. */ + interface IStreamingVideoAnnotationResults { + + /** StreamingVideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); + + /** StreamingVideoAnnotationResults labelAnnotations */ + labelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + + /** StreamingVideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** StreamingVideoAnnotationResults objectAnnotations */ + objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null); + } + + /** Represents a StreamingVideoAnnotationResults. */ + class StreamingVideoAnnotationResults implements IStreamingVideoAnnotationResults { + + /** + * Constructs a new StreamingVideoAnnotationResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults); + + /** StreamingVideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; + + /** StreamingVideoAnnotationResults labelAnnotations. */ + public labelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + + /** StreamingVideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** StreamingVideoAnnotationResults objectAnnotations. */ + public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]; + + /** + * Creates a new StreamingVideoAnnotationResults instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingVideoAnnotationResults instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + + /** + * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @param message StreamingVideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @param message StreamingVideoAnnotationResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingVideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + + /** + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingVideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + + /** + * Verifies a StreamingVideoAnnotationResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingVideoAnnotationResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + + /** + * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. + * @param message StreamingVideoAnnotationResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingVideoAnnotationResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StreamingVideoConfig. */ + interface IStreamingVideoConfig { + + /** StreamingVideoConfig feature */ + feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|null); + + /** StreamingVideoConfig shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); + + /** StreamingVideoConfig labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); + + /** StreamingVideoConfig explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); + + /** StreamingVideoConfig objectTrackingConfig */ + objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); + + /** StreamingVideoConfig automlClassificationConfig */ + automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); + + /** StreamingVideoConfig automlObjectTrackingConfig */ + automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + + /** StreamingVideoConfig storageConfig */ + storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + } + + /** Represents a StreamingVideoConfig. */ + class StreamingVideoConfig implements IStreamingVideoConfig { + + /** + * Constructs a new StreamingVideoConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig); + + /** StreamingVideoConfig feature. */ + public feature: google.cloud.videointelligence.v1p3beta1.StreamingFeature; + + /** StreamingVideoConfig shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); + + /** StreamingVideoConfig labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); + + /** StreamingVideoConfig explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); + + /** StreamingVideoConfig objectTrackingConfig. */ + public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); + + /** StreamingVideoConfig automlClassificationConfig. */ + public automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); + + /** StreamingVideoConfig automlObjectTrackingConfig. */ + public automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + + /** StreamingVideoConfig storageConfig. */ + public storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + + /** StreamingVideoConfig streamingConfig. */ + public streamingConfig?: ("shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"); + + /** + * Creates a new StreamingVideoConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingVideoConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @param message StreamingVideoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @param message StreamingVideoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Verifies a StreamingVideoConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingVideoConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. + * @param message StreamingVideoConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingVideoConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + SPEECH_TRANSCRIPTION = 6, + TEXT_DETECTION = 7, + OBJECT_TRACKING = 9, + LOGO_RECOGNITION = 12 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** StreamingFeature enum. */ + enum StreamingFeature { + STREAMING_FEATURE_UNSPECIFIED = 0, + STREAMING_LABEL_DETECTION = 1, + STREAMING_SHOT_CHANGE_DETECTION = 2, + STREAMING_EXPLICIT_CONTENT_DETECTION = 3, + STREAMING_OBJECT_TRACKING = 4, + STREAMING_AUTOML_CLASSIFICATION = 21, + STREAMING_AUTOML_OBJECT_TRACKING = 22 + } + } + } + } + + /** 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 }; + } + } + + /** 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); + } + + /** 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); + } + + /** 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 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 }; + } + } + + /** 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 }; + } + } +} diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js new file mode 100644 index 00000000000..45af5d293a9 --- /dev/null +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -0,0 +1,55198 @@ +/*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.videointelligence = (function() { + + /** + * Namespace videointelligence. + * @memberof google.cloud + * @namespace + */ + var videointelligence = {}; + + videointelligence.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1 = {}; + + v1.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.bytes(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 9: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.features[i] = 3; + break; + case "FACE_DETECTION": + case 4: + message.features[i] = 4; + break; + case "SPEECH_TRANSCRIPTION": + case 6: + message.features[i] = 6; + break; + case "TEXT_DETECTION": + case 7: + message.features[i] = 7; + break; + case "OBJECT_TRACKING": + case 9: + message.features[i] = 9; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + if (options.bytes === String) + object.inputContent = ""; + else { + object.inputContent = []; + if (options.bytes !== Array) + object.inputContent = $util.newBuffer(object.inputContent); + } + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig + * @property {google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1.IFaceDetectionConfig|null} [faceDetectionConfig] VideoContext faceDetectionConfig + * @property {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig + * @property {google.cloud.videointelligence.v1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig + * @property {google.cloud.videointelligence.v1.IObjectTrackingConfig|null} [objectTrackingConfig] VideoContext objectTrackingConfig + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionConfig. + * @member {google.cloud.videointelligence.v1.ILabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionConfig = null; + + /** + * VideoContext shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionConfig = null; + + /** + * VideoContext explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.explicitContentDetectionConfig = null; + + /** + * VideoContext faceDetectionConfig. + * @member {google.cloud.videointelligence.v1.IFaceDetectionConfig|null|undefined} faceDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.faceDetectionConfig = null; + + /** + * VideoContext speechTranscriptionConfig. + * @member {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null|undefined} speechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.speechTranscriptionConfig = null; + + /** + * VideoContext textDetectionConfig. + * @member {google.cloud.videointelligence.v1.ITextDetectionConfig|null|undefined} textDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.textDetectionConfig = null; + + /** + * VideoContext objectTrackingConfig. + * @member {google.cloud.videointelligence.v1.IObjectTrackingConfig|null|undefined} objectTrackingConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.objectTrackingConfig = null; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + $root.google.cloud.videointelligence.v1.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + $root.google.cloud.videointelligence.v1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 5: + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.decode(reader, reader.uint32()); + break; + case 6: + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + case 8: + message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + case 13: + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.verify(message.faceDetectionConfig); + if (error) + return "faceDetectionConfig." + error; + } + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) { + var error = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify(message.speechTranscriptionConfig); + if (error) + return "speechTranscriptionConfig." + error; + } + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.TextDetectionConfig.verify(message.textDetectionConfig); + if (error) + return "textDetectionConfig." + error; + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + var error = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.verify(message.objectTrackingConfig); + if (error) + return "objectTrackingConfig." + error; + } + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.faceDetectionConfig != null) { + if (typeof object.faceDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.faceDetectionConfig: object expected"); + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.fromObject(object.faceDetectionConfig); + } + if (object.speechTranscriptionConfig != null) { + if (typeof object.speechTranscriptionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.speechTranscriptionConfig: object expected"); + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.fromObject(object.speechTranscriptionConfig); + } + if (object.textDetectionConfig != null) { + if (typeof object.textDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.textDetectionConfig: object expected"); + message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.fromObject(object.textDetectionConfig); + } + if (object.objectTrackingConfig != null) { + if (typeof object.objectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.objectTrackingConfig: object expected"); + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.fromObject(object.objectTrackingConfig); + } + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionConfig = null; + object.shotChangeDetectionConfig = null; + object.explicitContentDetectionConfig = null; + object.faceDetectionConfig = null; + object.speechTranscriptionConfig = null; + object.textDetectionConfig = null; + object.objectTrackingConfig = null; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + object.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.toObject(message.faceDetectionConfig, options); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + object.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.toObject(message.textDetectionConfig, options); + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + object.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.toObject(message.objectTrackingConfig, options); + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1.LabelDetectionConfig = (function() { + + /** + * Properties of a LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface ILabelDetectionConfig + * @property {google.cloud.videointelligence.v1.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode + * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera + * @property {string|null} [model] LabelDetectionConfig model + * @property {number|null} [frameConfidenceThreshold] LabelDetectionConfig frameConfidenceThreshold + * @property {number|null} [videoConfidenceThreshold] LabelDetectionConfig videoConfidenceThreshold + */ + + /** + * Constructs a new LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a LabelDetectionConfig. + * @implements ILabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig=} [properties] Properties to set + */ + function LabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDetectionConfig labelDetectionMode. + * @member {google.cloud.videointelligence.v1.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.labelDetectionMode = 0; + + /** + * LabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * LabelDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.model = ""; + + /** + * LabelDetectionConfig frameConfidenceThreshold. + * @member {number} frameConfidenceThreshold + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.frameConfidenceThreshold = 0; + + /** + * LabelDetectionConfig videoConfidenceThreshold. + * @member {number} videoConfidenceThreshold + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.videoConfidenceThreshold = 0; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig instance + */ + LabelDetectionConfig.create = function create(properties) { + return new LabelDetectionConfig(properties); + }; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.frameConfidenceThreshold); + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.videoConfidenceThreshold); + return writer; + }; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.LabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.labelDetectionMode = reader.int32(); + break; + case 2: + message.stationaryCamera = reader.bool(); + break; + case 3: + message.model = reader.string(); + break; + case 4: + message.frameConfidenceThreshold = reader.float(); + break; + case 5: + message.videoConfidenceThreshold = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + if (typeof message.frameConfidenceThreshold !== "number") + return "frameConfidenceThreshold: number expected"; + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + if (typeof message.videoConfidenceThreshold !== "number") + return "videoConfidenceThreshold: number expected"; + return null; + }; + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig + */ + LabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.LabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.LabelDetectionConfig(); + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.model != null) + message.model = String(object.model); + if (object.frameConfidenceThreshold != null) + message.frameConfidenceThreshold = Number(object.frameConfidenceThreshold); + if (object.videoConfidenceThreshold != null) + message.videoConfidenceThreshold = Number(object.videoConfidenceThreshold); + return message; + }; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.LabelDetectionConfig} message LabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.model = ""; + object.frameConfidenceThreshold = 0; + object.videoConfidenceThreshold = 0; + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + object.frameConfidenceThreshold = options.json && !isFinite(message.frameConfidenceThreshold) ? String(message.frameConfidenceThreshold) : message.frameConfidenceThreshold; + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + object.videoConfidenceThreshold = options.json && !isFinite(message.videoConfidenceThreshold) ? String(message.videoConfidenceThreshold) : message.videoConfidenceThreshold; + return object; + }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + LabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelDetectionConfig; + })(); + + v1.ShotChangeDetectionConfig = (function() { + + /** + * Properties of a ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface IShotChangeDetectionConfig + * @property {string|null} [model] ShotChangeDetectionConfig model + */ + + /** + * Constructs a new ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a ShotChangeDetectionConfig. + * @implements IShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig=} [properties] Properties to set + */ + function ShotChangeDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShotChangeDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @instance + */ + ShotChangeDetectionConfig.prototype.model = ""; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance + */ + ShotChangeDetectionConfig.create = function create(properties) { + return new ShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + */ + ShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} message ShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShotChangeDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShotChangeDetectionConfig; + })(); + + v1.ExplicitContentDetectionConfig = (function() { + + /** + * Properties of an ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model + */ + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set + */ + function ExplicitContentDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @instance + */ + ExplicitContentDetectionConfig.prototype.model = ""; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + */ + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + */ + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentDetectionConfig; + })(); + + v1.FaceDetectionConfig = (function() { + + /** + * Properties of a FaceDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface IFaceDetectionConfig + * @property {string|null} [model] FaceDetectionConfig model + * @property {boolean|null} [includeBoundingBoxes] FaceDetectionConfig includeBoundingBoxes + */ + + /** + * Constructs a new FaceDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a FaceDetectionConfig. + * @implements IFaceDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig=} [properties] Properties to set + */ + function FaceDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.model = ""; + + /** + * FaceDetectionConfig includeBoundingBoxes. + * @member {boolean} includeBoundingBoxes + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.includeBoundingBoxes = false; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig instance + */ + FaceDetectionConfig.create = function create(properties) { + return new FaceDetectionConfig(properties); + }; + + /** + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); + return writer; + }; + + /** + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.FaceDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + case 2: + message.includeBoundingBoxes = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (typeof message.includeBoundingBoxes !== "boolean") + return "includeBoundingBoxes: boolean expected"; + return null; + }; + + /** + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig + */ + FaceDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.FaceDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.FaceDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + if (object.includeBoundingBoxes != null) + message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + return message; + }; + + /** + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.FaceDetectionConfig} message FaceDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.model = ""; + object.includeBoundingBoxes = false; + } + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + object.includeBoundingBoxes = message.includeBoundingBoxes; + return object; + }; + + /** + * Converts this FaceDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + FaceDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceDetectionConfig; + })(); + + v1.ObjectTrackingConfig = (function() { + + /** + * Properties of an ObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface IObjectTrackingConfig + * @property {string|null} [model] ObjectTrackingConfig model + */ + + /** + * Constructs a new ObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ObjectTrackingConfig. + * @implements IObjectTrackingConfig + * @constructor + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set + */ + function ObjectTrackingConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @instance + */ + ObjectTrackingConfig.prototype.model = ""; + + /** + * Creates a new ObjectTrackingConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig instance + */ + ObjectTrackingConfig.create = function create(properties) { + return new ObjectTrackingConfig(properties); + }; + + /** + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + */ + ObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1.ObjectTrackingConfig} message ObjectTrackingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ObjectTrackingConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingConfig; + })(); + + v1.TextDetectionConfig = (function() { + + /** + * Properties of a TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface ITextDetectionConfig + * @property {Array.|null} [languageHints] TextDetectionConfig languageHints + * @property {string|null} [model] TextDetectionConfig model + */ + + /** + * Constructs a new TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a TextDetectionConfig. + * @implements ITextDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.ITextDetectionConfig=} [properties] Properties to set + */ + function TextDetectionConfig(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]]; + } + + /** + * TextDetectionConfig languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @instance + */ + TextDetectionConfig.prototype.languageHints = $util.emptyArray; + + /** + * TextDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @instance + */ + TextDetectionConfig.prototype.model = ""; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ITextDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig instance + */ + TextDetectionConfig.create = function create(properties) { + return new TextDetectionConfig(properties); + }; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); + return writer; + }; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.TextDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 2: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + 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.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig + */ + TextDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.TextDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.TextDetectionConfig(); + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.videointelligence.v1.TextDetectionConfig.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.TextDetectionConfig} message TextDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) + object.model = ""; + 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.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this TextDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + TextDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionConfig; + })(); + + v1.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1 + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = null; + + /** + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = null; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); + if (error) + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; + } + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); + } + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTimeOffset = null; + object.endTimeOffset = null; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1.LabelSegment = (function() { + + /** + * Properties of a LabelSegment. + * @memberof google.cloud.videointelligence.v1 + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence + */ + + /** + * Constructs a new LabelSegment. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment + * @constructor + * @param {google.cloud.videointelligence.v1.ILabelSegment=} [properties] Properties to set + */ + function LabelSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @instance + */ + LabelSegment.prototype.segment = null; + + /** + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @instance + */ + LabelSegment.prototype.confidence = 0; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment instance + */ + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); + }; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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 LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.LabelSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment + */ + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.LabelSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1.LabelSegment} message LabelSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @instance + * @returns {Object.} JSON object + */ + LabelSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelSegment; + })(); + + v1.LabelFrame = (function() { + + /** + * Properties of a LabelFrame. + * @memberof google.cloud.videointelligence.v1 + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence + */ + + /** + * Constructs a new LabelFrame. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame + * @constructor + * @param {google.cloud.videointelligence.v1.ILabelFrame=} [properties] Properties to set + */ + function LabelFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @instance + */ + LabelFrame.prototype.timeOffset = null; + + /** + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @instance + */ + LabelFrame.prototype.confidence = 0; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame instance + */ + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); + }; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.LabelFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame + */ + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.LabelFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1.LabelFrame} message LabelFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @instance + * @returns {Object.} JSON object + */ + LabelFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelFrame; + })(); + + v1.Entity = (function() { + + /** + * Properties of an Entity. + * @memberof google.cloud.videointelligence.v1 + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode + */ + + /** + * Constructs a new Entity. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an Entity. + * @implements IEntity + * @constructor + * @param {google.cloud.videointelligence.v1.IEntity=} [properties] Properties to set + */ + function Entity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1.Entity + * @instance + */ + Entity.prototype.entityId = ""; + + /** + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1.Entity + * @instance + */ + Entity.prototype.description = ""; + + /** + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {google.cloud.videointelligence.v1.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.Entity} Entity instance + */ + Entity.create = function create(properties) { + return new Entity(properties); + }; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {google.cloud.videointelligence.v1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.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.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {google.cloud.videointelligence.v1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.Entity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Entity message. + * @function verify + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Entity.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.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.Entity} Entity + */ + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.Entity) + return object; + var message = new $root.google.cloud.videointelligence.v1.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {google.cloud.videointelligence.v1.Entity} message Entity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Entity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.description = ""; + object.languageCode = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this Entity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.Entity + * @instance + * @returns {Object.} JSON object + */ + Entity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Entity; + })(); + + v1.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.entity = null; + + /** + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.LabelFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1.LabelSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1.LabelFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; + object.frames = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1.ExplicitContentFrame = (function() { + + /** + * Properties of an ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1 + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + */ + + /** + * Constructs a new ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame + * @constructor + * @param {google.cloud.videointelligence.v1.IExplicitContentFrame=} [properties] Properties to set + */ + function ExplicitContentFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.timeOffset = null; + + /** + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.pornographyLikelihood = 0; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame instance + */ + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); + }; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + return writer; + }; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ExplicitContentFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.pornographyLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame + */ + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1.ExplicitContentFrame} message ExplicitContentFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + return object; + }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentFrame; + })(); + + v1.ExplicitContentAnnotation = (function() { + + /** + * Properties of an ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames + */ + + /** + * Constructs a new ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation=} [properties] Properties to set + */ + function ExplicitContentAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation instance + */ + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); + }; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation + */ + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentAnnotation; + })(); + + v1.NormalizedBoundingBox = (function() { + + /** + * Properties of a NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1 + * @interface INormalizedBoundingBox + * @property {number|null} [left] NormalizedBoundingBox left + * @property {number|null} [top] NormalizedBoundingBox top + * @property {number|null} [right] NormalizedBoundingBox right + * @property {number|null} [bottom] NormalizedBoundingBox bottom + */ + + /** + * Constructs a new NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a NormalizedBoundingBox. + * @implements INormalizedBoundingBox + * @constructor + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set + */ + function NormalizedBoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.left = 0; + + /** + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.top = 0; + + /** + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.right = 0; + + /** + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.bottom = 0; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox instance + */ + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); + }; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.float(); + break; + case 2: + message.top = reader.float(); + break; + case 3: + message.right = reader.float(); + break; + case 4: + message.bottom = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; + return null; + }; + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + */ + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + return object; + }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingBox; + })(); + + v1.FaceSegment = (function() { + + /** + * Properties of a FaceSegment. + * @memberof google.cloud.videointelligence.v1 + * @interface IFaceSegment + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] FaceSegment segment + */ + + /** + * Constructs a new FaceSegment. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a FaceSegment. + * @implements IFaceSegment + * @constructor + * @param {google.cloud.videointelligence.v1.IFaceSegment=} [properties] Properties to set + */ + function FaceSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceSegment segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @instance + */ + FaceSegment.prototype.segment = null; + + /** + * Creates a new FaceSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1.IFaceSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment instance + */ + FaceSegment.create = function create(properties) { + return new FaceSegment(properties); + }; + + /** + * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1.IFaceSegment} message FaceSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1.IFaceSegment} message FaceSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.FaceSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + return null; + }; + + /** + * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment + */ + FaceSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.FaceSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1.FaceSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + return message; + }; + + /** + * Creates a plain object from a FaceSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1.FaceSegment} message FaceSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.segment = null; + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + return object; + }; + + /** + * Converts this FaceSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @instance + * @returns {Object.} JSON object + */ + FaceSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceSegment; + })(); + + v1.FaceFrame = (function() { + + /** + * Properties of a FaceFrame. + * @memberof google.cloud.videointelligence.v1 + * @interface IFaceFrame + * @property {Array.|null} [normalizedBoundingBoxes] FaceFrame normalizedBoundingBoxes + * @property {google.protobuf.IDuration|null} [timeOffset] FaceFrame timeOffset + */ + + /** + * Constructs a new FaceFrame. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a FaceFrame. + * @implements IFaceFrame + * @constructor + * @param {google.cloud.videointelligence.v1.IFaceFrame=} [properties] Properties to set + */ + function FaceFrame(properties) { + this.normalizedBoundingBoxes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceFrame normalizedBoundingBoxes. + * @member {Array.} normalizedBoundingBoxes + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @instance + */ + FaceFrame.prototype.normalizedBoundingBoxes = $util.emptyArray; + + /** + * FaceFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @instance + */ + FaceFrame.prototype.timeOffset = null; + + /** + * Creates a new FaceFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1.IFaceFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame instance + */ + FaceFrame.create = function create(properties) { + return new FaceFrame(properties); + }; + + /** + * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1.IFaceFrame} message FaceFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBoxes != null && message.normalizedBoundingBoxes.length) + for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) + $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBoxes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1.IFaceFrame} message FaceFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.FaceFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) + message.normalizedBoundingBoxes = []; + message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32())); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBoxes != null && message.hasOwnProperty("normalizedBoundingBoxes")) { + if (!Array.isArray(message.normalizedBoundingBoxes)) + return "normalizedBoundingBoxes: array expected"; + for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBoxes[i]); + if (error) + return "normalizedBoundingBoxes." + error; + } + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame + */ + FaceFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.FaceFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1.FaceFrame(); + if (object.normalizedBoundingBoxes) { + if (!Array.isArray(object.normalizedBoundingBoxes)) + throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.normalizedBoundingBoxes: array expected"); + message.normalizedBoundingBoxes = []; + for (var i = 0; i < object.normalizedBoundingBoxes.length; ++i) { + if (typeof object.normalizedBoundingBoxes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.normalizedBoundingBoxes: object expected"); + message.normalizedBoundingBoxes[i] = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBoxes[i]); + } + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from a FaceFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1.FaceFrame} message FaceFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.normalizedBoundingBoxes = []; + if (options.defaults) + object.timeOffset = null; + if (message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length) { + object.normalizedBoundingBoxes = []; + for (var j = 0; j < message.normalizedBoundingBoxes.length; ++j) + object.normalizedBoundingBoxes[j] = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBoxes[j], options); + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this FaceFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @instance + * @returns {Object.} JSON object + */ + FaceFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceFrame; + })(); + + v1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface IFaceAnnotation + * @property {Uint8Array|null} [thumbnail] FaceAnnotation thumbnail + * @property {Array.|null} [segments] FaceAnnotation segments + * @property {Array.|null} [frames] FaceAnnotation frames + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.segments = []; + this.frames = []; + if (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 thumbnail. + * @member {Uint8Array} thumbnail + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.thumbnail = $util.newBuffer([]); + + /** + * FaceAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.segments = $util.emptyArray; + + /** + * FaceAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.thumbnail); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1.FaceSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1.FaceFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.thumbnail = reader.bytes(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.FaceSegment.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.FaceFrame.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.videointelligence.v1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) + return "thumbnail: buffer expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.FaceSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.FaceFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.FaceAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.FaceAnnotation(); + if (object.thumbnail != null) + if (typeof object.thumbnail === "string") + $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); + else if (object.thumbnail.length) + message.thumbnail = object.thumbnail; + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1.FaceSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1.FaceFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.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.segments = []; + object.frames = []; + } + if (options.defaults) + if (options.bytes === String) + object.thumbnail = ""; + else { + object.thumbnail = []; + if (options.bytes !== Array) + object.thumbnail = $util.newBuffer(object.thumbnail); + } + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1.FaceSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1.FaceFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceAnnotation; + })(); + + v1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationResults segment + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [segmentPresenceLabelAnnotations] VideoAnnotationResults segmentPresenceLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions + * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations + * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.segmentPresenceLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.shotPresenceLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.faceAnnotations = []; + this.shotAnnotations = []; + this.speechTranscriptions = []; + this.textAnnotations = []; + 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]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segment = null; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults segmentPresenceLabelAnnotations. + * @member {Array.} segmentPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotPresenceLabelAnnotations. + * @member {Array.} shotPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults speechTranscriptions. + * @member {Array.} speechTranscriptions + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + + /** + * VideoAnnotationResults textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.frameLabelAnnotations[i], 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.videointelligence.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.speechTranscriptions != null && message.speechTranscriptions.length) + for (var i = 0; i < message.speechTranscriptions.length; ++i) + $root.google.cloud.videointelligence.v1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) + for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.shotPresenceLabelAnnotations != null && message.shotPresenceLabelAnnotations.length) + for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotPresenceLabelAnnotations[i], writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 10: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 23: + if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) + message.segmentPresenceLabelAnnotations = []; + message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 24: + if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) + message.shotPresenceLabelAnnotations = []; + message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 11: + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1.SpeechTranscription.decode(reader, reader.uint32())); + break; + case 12: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1.TextAnnotation.decode(reader, reader.uint32())); + break; + case 14: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.segmentPresenceLabelAnnotations != null && message.hasOwnProperty("segmentPresenceLabelAnnotations")) { + if (!Array.isArray(message.segmentPresenceLabelAnnotations)) + return "segmentPresenceLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.segmentPresenceLabelAnnotations[i]); + if (error) + return "segmentPresenceLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + if (!Array.isArray(message.shotLabelAnnotations)) + return "shotLabelAnnotations: array expected"; + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.shotLabelAnnotations[i]); + if (error) + return "shotLabelAnnotations." + error; + } + } + if (message.shotPresenceLabelAnnotations != null && message.hasOwnProperty("shotPresenceLabelAnnotations")) { + if (!Array.isArray(message.shotPresenceLabelAnnotations)) + return "shotPresenceLabelAnnotations: array expected"; + for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.shotPresenceLabelAnnotations[i]); + if (error) + return "shotPresenceLabelAnnotations." + error; + } + } + if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { + if (!Array.isArray(message.frameLabelAnnotations)) + return "frameLabelAnnotations: array expected"; + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.frameLabelAnnotations[i]); + if (error) + return "frameLabelAnnotations." + 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.videointelligence.v1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + error; + } + if (message.speechTranscriptions != null && message.hasOwnProperty("speechTranscriptions")) { + if (!Array.isArray(message.speechTranscriptions)) + return "speechTranscriptions: array expected"; + for (var i = 0; i < message.speechTranscriptions.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.SpeechTranscription.verify(message.speechTranscriptions[i]); + if (error) + return "speechTranscriptions." + 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.videointelligence.v1.TextAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + 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.videointelligence.v1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + if (object.segmentLabelAnnotations) { + if (!Array.isArray(object.segmentLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentLabelAnnotations: array expected"); + message.segmentLabelAnnotations = []; + for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) { + if (typeof object.segmentLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentLabelAnnotations: object expected"); + message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); + } + } + if (object.segmentPresenceLabelAnnotations) { + if (!Array.isArray(object.segmentPresenceLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentPresenceLabelAnnotations: array expected"); + message.segmentPresenceLabelAnnotations = []; + for (var i = 0; i < object.segmentPresenceLabelAnnotations.length; ++i) { + if (typeof object.segmentPresenceLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentPresenceLabelAnnotations: object expected"); + message.segmentPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.segmentPresenceLabelAnnotations[i]); + } + } + if (object.shotLabelAnnotations) { + if (!Array.isArray(object.shotLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotLabelAnnotations: array expected"); + message.shotLabelAnnotations = []; + for (var i = 0; i < object.shotLabelAnnotations.length; ++i) { + if (typeof object.shotLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotLabelAnnotations: object expected"); + message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); + } + } + if (object.shotPresenceLabelAnnotations) { + if (!Array.isArray(object.shotPresenceLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotPresenceLabelAnnotations: array expected"); + message.shotPresenceLabelAnnotations = []; + for (var i = 0; i < object.shotPresenceLabelAnnotations.length; ++i) { + if (typeof object.shotPresenceLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotPresenceLabelAnnotations: object expected"); + message.shotPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.shotPresenceLabelAnnotations[i]); + } + } + if (object.frameLabelAnnotations) { + if (!Array.isArray(object.frameLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.frameLabelAnnotations: array expected"); + message.frameLabelAnnotations = []; + for (var i = 0; i < object.frameLabelAnnotations.length; ++i) { + if (typeof object.frameLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.frameLabelAnnotations: object expected"); + message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); + } + } + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.speechTranscriptions) { + if (!Array.isArray(object.speechTranscriptions)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.speechTranscriptions: array expected"); + message.speechTranscriptions = []; + for (var i = 0; i < object.speechTranscriptions.length; ++i) { + if (typeof object.speechTranscriptions[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.speechTranscriptions: object expected"); + message.speechTranscriptions[i] = $root.google.cloud.videointelligence.v1.SpeechTranscription.fromObject(object.speechTranscriptions[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.videointelligence.v1.TextAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); + } + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.segmentLabelAnnotations = []; + object.shotLabelAnnotations = []; + object.frameLabelAnnotations = []; + object.faceAnnotations = []; + object.shotAnnotations = []; + object.speechTranscriptions = []; + object.textAnnotations = []; + object.objectAnnotations = []; + object.segmentPresenceLabelAnnotations = []; + object.shotPresenceLabelAnnotations = []; + } + if (options.defaults) { + object.inputUri = ""; + object.explicitAnnotation = null; + object.error = null; + object.segment = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) { + object.segmentLabelAnnotations = []; + for (var j = 0; j < message.segmentLabelAnnotations.length; ++j) + object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options); + } + if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) { + object.shotLabelAnnotations = []; + for (var j = 0; j < message.shotLabelAnnotations.length; ++j) + object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options); + } + if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) { + object.frameLabelAnnotations = []; + for (var j = 0; j < message.frameLabelAnnotations.length; ++j) + object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.frameLabelAnnotations[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.videointelligence.v1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + if (message.speechTranscriptions && message.speechTranscriptions.length) { + object.speechTranscriptions = []; + for (var j = 0; j < message.speechTranscriptions.length; ++j) + object.speechTranscriptions[j] = $root.google.cloud.videointelligence.v1.SpeechTranscription.toObject(message.speechTranscriptions[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.videointelligence.v1.TextAnnotation.toObject(message.textAnnotations[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.videointelligence.v1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); + } + if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) { + object.segmentPresenceLabelAnnotations = []; + for (var j = 0; j < message.segmentPresenceLabelAnnotations.length; ++j) + object.segmentPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.segmentPresenceLabelAnnotations[j], options); + } + if (message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length) { + object.shotPresenceLabelAnnotations = []; + for (var j = 0; j < message.shotPresenceLabelAnnotations.length; ++j) + object.shotPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.shotPresenceLabelAnnotations[j], options); + } + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + * @property {google.cloud.videointelligence.v1.Feature|null} [feature] VideoAnnotationProgress feature + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationProgress segment + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * VideoAnnotationProgress feature. + * @member {google.cloud.videointelligence.v1.Feature} feature + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.feature = 0; + + /** + * VideoAnnotationProgress segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.segment = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.feature != null && message.hasOwnProperty("feature")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.feature); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + message.feature = reader.int32(); + break; + case 6: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } + if (message.feature != null && message.hasOwnProperty("feature")) + switch (message.feature) { + default: + return "feature: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 9: + break; + } + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + return null; + }; + + /** + * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + switch (object.feature) { + case "FEATURE_UNSPECIFIED": + case 0: + message.feature = 0; + break; + case "LABEL_DETECTION": + case 1: + message.feature = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.feature = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.feature = 3; + break; + case "FACE_DETECTION": + case 4: + message.feature = 4; + break; + case "SPEECH_TRANSCRIPTION": + case 6: + message.feature = 6; + break; + case "TEXT_DETECTION": + case 7: + message.feature = 7; + break; + case "OBJECT_TRACKING": + case 9: + message.feature = 9; + break; + } + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + object.feature = options.enums === String ? "FEATURE_UNSPECIFIED" : 0; + object.segment = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + if (message.feature != null && message.hasOwnProperty("feature")) + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.feature] : message.feature; + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + v1.SpeechTranscriptionConfig = (function() { + + /** + * Properties of a SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface ISpeechTranscriptionConfig + * @property {string|null} [languageCode] SpeechTranscriptionConfig languageCode + * @property {number|null} [maxAlternatives] SpeechTranscriptionConfig maxAlternatives + * @property {boolean|null} [filterProfanity] SpeechTranscriptionConfig filterProfanity + * @property {Array.|null} [speechContexts] SpeechTranscriptionConfig speechContexts + * @property {boolean|null} [enableAutomaticPunctuation] SpeechTranscriptionConfig enableAutomaticPunctuation + * @property {Array.|null} [audioTracks] SpeechTranscriptionConfig audioTracks + * @property {boolean|null} [enableSpeakerDiarization] SpeechTranscriptionConfig enableSpeakerDiarization + * @property {number|null} [diarizationSpeakerCount] SpeechTranscriptionConfig diarizationSpeakerCount + * @property {boolean|null} [enableWordConfidence] SpeechTranscriptionConfig enableWordConfidence + */ + + /** + * Constructs a new SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a SpeechTranscriptionConfig. + * @implements ISpeechTranscriptionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig=} [properties] Properties to set + */ + function SpeechTranscriptionConfig(properties) { + this.speechContexts = []; + this.audioTracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscriptionConfig languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.languageCode = ""; + + /** + * SpeechTranscriptionConfig maxAlternatives. + * @member {number} maxAlternatives + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.maxAlternatives = 0; + + /** + * SpeechTranscriptionConfig filterProfanity. + * @member {boolean} filterProfanity + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.filterProfanity = false; + + /** + * SpeechTranscriptionConfig speechContexts. + * @member {Array.} speechContexts + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.speechContexts = $util.emptyArray; + + /** + * SpeechTranscriptionConfig enableAutomaticPunctuation. + * @member {boolean} enableAutomaticPunctuation + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableAutomaticPunctuation = false; + + /** + * SpeechTranscriptionConfig audioTracks. + * @member {Array.} audioTracks + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.audioTracks = $util.emptyArray; + + /** + * SpeechTranscriptionConfig enableSpeakerDiarization. + * @member {boolean} enableSpeakerDiarization + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableSpeakerDiarization = false; + + /** + * SpeechTranscriptionConfig diarizationSpeakerCount. + * @member {number} diarizationSpeakerCount + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.diarizationSpeakerCount = 0; + + /** + * SpeechTranscriptionConfig enableWordConfidence. + * @member {boolean} enableWordConfidence + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableWordConfidence = false; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig instance + */ + SpeechTranscriptionConfig.create = function create(properties) { + return new SpeechTranscriptionConfig(properties); + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); + if (message.speechContexts != null && message.speechContexts.length) + for (var i = 0; i < message.speechContexts.length; ++i) + $root.google.cloud.videointelligence.v1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); + if (message.audioTracks != null && message.audioTracks.length) { + writer.uint32(/* id 6, wireType 2 =*/50).fork(); + for (var i = 0; i < message.audioTracks.length; ++i) + writer.int32(message.audioTracks[i]); + writer.ldelim(); + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.enableSpeakerDiarization); + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.diarizationSpeakerCount); + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableWordConfidence); + return writer; + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.maxAlternatives = reader.int32(); + break; + case 3: + message.filterProfanity = reader.bool(); + break; + case 4: + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1.SpeechContext.decode(reader, reader.uint32())); + break; + case 5: + message.enableAutomaticPunctuation = reader.bool(); + break; + case 6: + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else + message.audioTracks.push(reader.int32()); + break; + case 7: + message.enableSpeakerDiarization = reader.bool(); + break; + case 8: + message.diarizationSpeakerCount = reader.int32(); + break; + case 9: + message.enableWordConfidence = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (!$util.isInteger(message.maxAlternatives)) + return "maxAlternatives: integer expected"; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (typeof message.filterProfanity !== "boolean") + return "filterProfanity: boolean expected"; + if (message.speechContexts != null && message.hasOwnProperty("speechContexts")) { + if (!Array.isArray(message.speechContexts)) + return "speechContexts: array expected"; + for (var i = 0; i < message.speechContexts.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.SpeechContext.verify(message.speechContexts[i]); + if (error) + return "speechContexts." + error; + } + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (typeof message.enableAutomaticPunctuation !== "boolean") + return "enableAutomaticPunctuation: boolean expected"; + if (message.audioTracks != null && message.hasOwnProperty("audioTracks")) { + if (!Array.isArray(message.audioTracks)) + return "audioTracks: array expected"; + for (var i = 0; i < message.audioTracks.length; ++i) + if (!$util.isInteger(message.audioTracks[i])) + return "audioTracks: integer[] expected"; + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + if (typeof message.enableSpeakerDiarization !== "boolean") + return "enableSpeakerDiarization: boolean expected"; + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + if (!$util.isInteger(message.diarizationSpeakerCount)) + return "diarizationSpeakerCount: integer expected"; + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + if (typeof message.enableWordConfidence !== "boolean") + return "enableWordConfidence: boolean expected"; + return null; + }; + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + */ + SpeechTranscriptionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.maxAlternatives != null) + message.maxAlternatives = object.maxAlternatives | 0; + if (object.filterProfanity != null) + message.filterProfanity = Boolean(object.filterProfanity); + if (object.speechContexts) { + if (!Array.isArray(object.speechContexts)) + throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.speechContexts: array expected"); + message.speechContexts = []; + for (var i = 0; i < object.speechContexts.length; ++i) { + if (typeof object.speechContexts[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.speechContexts: object expected"); + message.speechContexts[i] = $root.google.cloud.videointelligence.v1.SpeechContext.fromObject(object.speechContexts[i]); + } + } + if (object.enableAutomaticPunctuation != null) + message.enableAutomaticPunctuation = Boolean(object.enableAutomaticPunctuation); + if (object.audioTracks) { + if (!Array.isArray(object.audioTracks)) + throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.audioTracks: array expected"); + message.audioTracks = []; + for (var i = 0; i < object.audioTracks.length; ++i) + message.audioTracks[i] = object.audioTracks[i] | 0; + } + if (object.enableSpeakerDiarization != null) + message.enableSpeakerDiarization = Boolean(object.enableSpeakerDiarization); + if (object.diarizationSpeakerCount != null) + message.diarizationSpeakerCount = object.diarizationSpeakerCount | 0; + if (object.enableWordConfidence != null) + message.enableWordConfidence = Boolean(object.enableWordConfidence); + return message; + }; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} message SpeechTranscriptionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscriptionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.speechContexts = []; + object.audioTracks = []; + } + if (options.defaults) { + object.languageCode = ""; + object.maxAlternatives = 0; + object.filterProfanity = false; + object.enableAutomaticPunctuation = false; + object.enableSpeakerDiarization = false; + object.diarizationSpeakerCount = 0; + object.enableWordConfidence = false; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + object.maxAlternatives = message.maxAlternatives; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + object.filterProfanity = message.filterProfanity; + if (message.speechContexts && message.speechContexts.length) { + object.speechContexts = []; + for (var j = 0; j < message.speechContexts.length; ++j) + object.speechContexts[j] = $root.google.cloud.videointelligence.v1.SpeechContext.toObject(message.speechContexts[j], options); + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + object.enableAutomaticPunctuation = message.enableAutomaticPunctuation; + if (message.audioTracks && message.audioTracks.length) { + object.audioTracks = []; + for (var j = 0; j < message.audioTracks.length; ++j) + object.audioTracks[j] = message.audioTracks[j]; + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + object.enableSpeakerDiarization = message.enableSpeakerDiarization; + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + object.diarizationSpeakerCount = message.diarizationSpeakerCount; + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + object.enableWordConfidence = message.enableWordConfidence; + return object; + }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscriptionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscriptionConfig; + })(); + + v1.SpeechContext = (function() { + + /** + * Properties of a SpeechContext. + * @memberof google.cloud.videointelligence.v1 + * @interface ISpeechContext + * @property {Array.|null} [phrases] SpeechContext phrases + */ + + /** + * Constructs a new SpeechContext. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a SpeechContext. + * @implements ISpeechContext + * @constructor + * @param {google.cloud.videointelligence.v1.ISpeechContext=} [properties] Properties to set + */ + function SpeechContext(properties) { + this.phrases = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechContext phrases. + * @member {Array.} phrases + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @instance + */ + SpeechContext.prototype.phrases = $util.emptyArray; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1.ISpeechContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext instance + */ + SpeechContext.create = function create(properties) { + return new SpeechContext(properties); + }; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.phrases != null && message.phrases.length) + for (var i = 0; i < message.phrases.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.phrases[i]); + return writer; + }; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.SpeechContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.phrases != null && message.hasOwnProperty("phrases")) { + if (!Array.isArray(message.phrases)) + return "phrases: array expected"; + for (var i = 0; i < message.phrases.length; ++i) + if (!$util.isString(message.phrases[i])) + return "phrases: string[] expected"; + } + return null; + }; + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext + */ + SpeechContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.SpeechContext) + return object; + var message = new $root.google.cloud.videointelligence.v1.SpeechContext(); + if (object.phrases) { + if (!Array.isArray(object.phrases)) + throw TypeError(".google.cloud.videointelligence.v1.SpeechContext.phrases: array expected"); + message.phrases = []; + for (var i = 0; i < object.phrases.length; ++i) + message.phrases[i] = String(object.phrases[i]); + } + return message; + }; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1.SpeechContext} message SpeechContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.phrases = []; + if (message.phrases && message.phrases.length) { + object.phrases = []; + for (var j = 0; j < message.phrases.length; ++j) + object.phrases[j] = message.phrases[j]; + } + return object; + }; + + /** + * Converts this SpeechContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @instance + * @returns {Object.} JSON object + */ + SpeechContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechContext; + })(); + + v1.SpeechTranscription = (function() { + + /** + * Properties of a SpeechTranscription. + * @memberof google.cloud.videointelligence.v1 + * @interface ISpeechTranscription + * @property {Array.|null} [alternatives] SpeechTranscription alternatives + * @property {string|null} [languageCode] SpeechTranscription languageCode + */ + + /** + * Constructs a new SpeechTranscription. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a SpeechTranscription. + * @implements ISpeechTranscription + * @constructor + * @param {google.cloud.videointelligence.v1.ISpeechTranscription=} [properties] Properties to set + */ + function SpeechTranscription(properties) { + this.alternatives = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscription alternatives. + * @member {Array.} alternatives + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @instance + */ + SpeechTranscription.prototype.alternatives = $util.emptyArray; + + /** + * SpeechTranscription languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @instance + */ + SpeechTranscription.prototype.languageCode = ""; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscription=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription instance + */ + SpeechTranscription.create = function create(properties) { + return new SpeechTranscription(properties); + }; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.alternatives != null && message.alternatives.length) + for (var i = 0; i < message.alternatives.length; ++i) + $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.SpeechTranscription(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscription message. + * @function verify + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscription.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.alternatives != null && message.hasOwnProperty("alternatives")) { + if (!Array.isArray(message.alternatives)) + return "alternatives: array expected"; + for (var i = 0; i < message.alternatives.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify(message.alternatives[i]); + if (error) + return "alternatives." + error; + } + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription + */ + SpeechTranscription.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.SpeechTranscription) + return object; + var message = new $root.google.cloud.videointelligence.v1.SpeechTranscription(); + if (object.alternatives) { + if (!Array.isArray(object.alternatives)) + throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscription.alternatives: array expected"); + message.alternatives = []; + for (var i = 0; i < object.alternatives.length; ++i) { + if (typeof object.alternatives[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscription.alternatives: object expected"); + message.alternatives[i] = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.fromObject(object.alternatives[i]); + } + } + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1.SpeechTranscription} message SpeechTranscription + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscription.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.alternatives = []; + if (options.defaults) + object.languageCode = ""; + if (message.alternatives && message.alternatives.length) { + object.alternatives = []; + for (var j = 0; j < message.alternatives.length; ++j) + object.alternatives[j] = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.toObject(message.alternatives[j], options); + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this SpeechTranscription to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscription.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscription; + })(); + + v1.SpeechRecognitionAlternative = (function() { + + /** + * Properties of a SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1 + * @interface ISpeechRecognitionAlternative + * @property {string|null} [transcript] SpeechRecognitionAlternative transcript + * @property {number|null} [confidence] SpeechRecognitionAlternative confidence + * @property {Array.|null} [words] SpeechRecognitionAlternative words + */ + + /** + * Constructs a new SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a SpeechRecognitionAlternative. + * @implements ISpeechRecognitionAlternative + * @constructor + * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative=} [properties] Properties to set + */ + function SpeechRecognitionAlternative(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]]; + } + + /** + * SpeechRecognitionAlternative transcript. + * @member {string} transcript + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.transcript = ""; + + /** + * SpeechRecognitionAlternative confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.confidence = 0; + + /** + * SpeechRecognitionAlternative words. + * @member {Array.} words + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.words = $util.emptyArray; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative instance + */ + SpeechRecognitionAlternative.create = function create(properties) { + return new SpeechRecognitionAlternative(properties); + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transcript != null && message.hasOwnProperty("transcript")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.videointelligence.v1.WordInfo.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.transcript = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1.WordInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @function verify + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechRecognitionAlternative.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transcript != null && message.hasOwnProperty("transcript")) + if (!$util.isString(message.transcript)) + return "transcript: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + 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.videointelligence.v1.WordInfo.verify(message.words[i]); + if (error) + return "words." + error; + } + } + return null; + }; + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + */ + SpeechRecognitionAlternative.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative) + return object; + var message = new $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative(); + if (object.transcript != null) + message.transcript = String(object.transcript); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.videointelligence.v1.SpeechRecognitionAlternative.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.SpeechRecognitionAlternative.words: object expected"); + message.words[i] = $root.google.cloud.videointelligence.v1.WordInfo.fromObject(object.words[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} message SpeechRecognitionAlternative + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechRecognitionAlternative.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.transcript = ""; + object.confidence = 0; + } + if (message.transcript != null && message.hasOwnProperty("transcript")) + object.transcript = message.transcript; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.videointelligence.v1.WordInfo.toObject(message.words[j], options); + } + return object; + }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @instance + * @returns {Object.} JSON object + */ + SpeechRecognitionAlternative.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechRecognitionAlternative; + })(); + + v1.WordInfo = (function() { + + /** + * Properties of a WordInfo. + * @memberof google.cloud.videointelligence.v1 + * @interface IWordInfo + * @property {google.protobuf.IDuration|null} [startTime] WordInfo startTime + * @property {google.protobuf.IDuration|null} [endTime] WordInfo endTime + * @property {string|null} [word] WordInfo word + * @property {number|null} [confidence] WordInfo confidence + * @property {number|null} [speakerTag] WordInfo speakerTag + */ + + /** + * Constructs a new WordInfo. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a WordInfo. + * @implements IWordInfo + * @constructor + * @param {google.cloud.videointelligence.v1.IWordInfo=} [properties] Properties to set + */ + function WordInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WordInfo startTime. + * @member {google.protobuf.IDuration|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + */ + WordInfo.prototype.startTime = null; + + /** + * WordInfo endTime. + * @member {google.protobuf.IDuration|null|undefined} endTime + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + */ + WordInfo.prototype.endTime = null; + + /** + * WordInfo word. + * @member {string} word + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + */ + WordInfo.prototype.word = ""; + + /** + * WordInfo confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + */ + WordInfo.prototype.confidence = 0; + + /** + * WordInfo speakerTag. + * @member {number} speakerTag + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + */ + WordInfo.prototype.speakerTag = 0; + + /** + * Creates a new WordInfo instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1.IWordInfo=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo instance + */ + WordInfo.create = function create(properties) { + return new WordInfo(properties); + }; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.word != null && message.hasOwnProperty("word")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.speakerTag); + return writer; + }; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.WordInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 3: + message.word = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + case 5: + message.speakerTag = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WordInfo message. + * @function verify + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WordInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Duration.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Duration.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.word != null && message.hasOwnProperty("word")) + if (!$util.isString(message.word)) + return "word: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + if (!$util.isInteger(message.speakerTag)) + return "speakerTag: integer expected"; + return null; + }; + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo + */ + WordInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.WordInfo) + return object; + var message = new $root.google.cloud.videointelligence.v1.WordInfo(); + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1.WordInfo.startTime: object expected"); + message.startTime = $root.google.protobuf.Duration.fromObject(object.startTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1.WordInfo.endTime: object expected"); + message.endTime = $root.google.protobuf.Duration.fromObject(object.endTime); + } + if (object.word != null) + message.word = String(object.word); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.speakerTag != null) + message.speakerTag = object.speakerTag | 0; + return message; + }; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1.WordInfo} message WordInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WordInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTime = null; + object.endTime = null; + object.word = ""; + object.confidence = 0; + object.speakerTag = 0; + } + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Duration.toObject(message.startTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Duration.toObject(message.endTime, options); + if (message.word != null && message.hasOwnProperty("word")) + object.word = message.word; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + object.speakerTag = message.speakerTag; + return object; + }; + + /** + * Converts this WordInfo to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.WordInfo + * @instance + * @returns {Object.} JSON object + */ + WordInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WordInfo; + })(); + + v1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.videointelligence.v1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.videointelligence.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.videointelligence.v1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.videointelligence.v1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.v1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.videointelligence.v1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedVertex) + return object; + var message = new $root.google.cloud.videointelligence.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.videointelligence.v1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1.NormalizedBoundingPoly = (function() { + + /** + * Properties of a NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1 + * @interface INormalizedBoundingPoly + * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices + */ + + /** + * Constructs a new NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a NormalizedBoundingPoly. + * @implements INormalizedBoundingPoly + * @constructor + * @param {google.cloud.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly + * @instance + */ + NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly instance + */ + NormalizedBoundingPoly.create = function create(properties) { + return new NormalizedBoundingPoly(properties); + }; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly + */ + NormalizedBoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly) + return object; + var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.videointelligence.v1.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.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1.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.videointelligence.v1.NormalizedVertex.toObject(message.vertices[j], options); + } + return object; + }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingPoly; + })(); + + v1.TextSegment = (function() { + + /** + * Properties of a TextSegment. + * @memberof google.cloud.videointelligence.v1 + * @interface ITextSegment + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] TextSegment segment + * @property {number|null} [confidence] TextSegment confidence + * @property {Array.|null} [frames] TextSegment frames + */ + + /** + * Constructs a new TextSegment. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a TextSegment. + * @implements ITextSegment + * @constructor + * @param {google.cloud.videointelligence.v1.ITextSegment=} [properties] Properties to set + */ + function TextSegment(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextSegment segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.TextSegment + * @instance + */ + TextSegment.prototype.segment = null; + + /** + * TextSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.TextSegment + * @instance + */ + TextSegment.prototype.confidence = 0; + + /** + * TextSegment frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1.TextSegment + * @instance + */ + TextSegment.prototype.frames = $util.emptyArray; + + /** + * Creates a new TextSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1.ITextSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment instance + */ + TextSegment.create = function create(properties) { + return new TextSegment(properties); + }; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1.TextFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.TextSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.TextFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.TextFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment + */ + TextSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.TextSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1.TextSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TextSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1.TextSegment.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TextSegment.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1.TextFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1.TextSegment} message TextSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1.TextFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this TextSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.TextSegment + * @instance + * @returns {Object.} JSON object + */ + TextSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextSegment; + })(); + + v1.TextFrame = (function() { + + /** + * Properties of a TextFrame. + * @memberof google.cloud.videointelligence.v1 + * @interface ITextFrame + * @property {google.cloud.videointelligence.v1.INormalizedBoundingPoly|null} [rotatedBoundingBox] TextFrame rotatedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TextFrame timeOffset + */ + + /** + * Constructs a new TextFrame. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a TextFrame. + * @implements ITextFrame + * @constructor + * @param {google.cloud.videointelligence.v1.ITextFrame=} [properties] Properties to set + */ + function TextFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextFrame rotatedBoundingBox. + * @member {google.cloud.videointelligence.v1.INormalizedBoundingPoly|null|undefined} rotatedBoundingBox + * @memberof google.cloud.videointelligence.v1.TextFrame + * @instance + */ + TextFrame.prototype.rotatedBoundingBox = null; + + /** + * TextFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.TextFrame + * @instance + */ + TextFrame.prototype.timeOffset = null; + + /** + * Creates a new TextFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1.ITextFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame instance + */ + TextFrame.create = function create(properties) { + return new TextFrame(properties); + }; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.TextFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify(message.rotatedBoundingBox); + if (error) + return "rotatedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame + */ + TextFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.TextFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1.TextFrame(); + if (object.rotatedBoundingBox != null) { + if (typeof object.rotatedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TextFrame.rotatedBoundingBox: object expected"); + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.fromObject(object.rotatedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TextFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1.TextFrame} message TextFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.rotatedBoundingBox = null; + object.timeOffset = null; + } + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + object.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.toObject(message.rotatedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this TextFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.TextFrame + * @instance + * @returns {Object.} JSON object + */ + TextFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextFrame; + })(); + + v1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface ITextAnnotation + * @property {string|null} [text] TextAnnotation text + * @property {Array.|null} [segments] TextAnnotation segments + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.segments = []; + if (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 text. + * @member {string} text + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * TextAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.segments = $util.emptyArray; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1.TextSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.text = reader.string(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.TextSegment.decode(reader, reader.uint32())); + 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.videointelligence.v1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.TextSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.TextAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.TextAnnotation(); + if (object.text != null) + message.text = String(object.text); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1.TextAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TextAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1.TextSegment.fromObject(object.segments[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.segments = []; + if (options.defaults) + object.text = ""; + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1.TextSegment.toObject(message.segments[j], options); + } + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextAnnotation; + })(); + + v1.ObjectTrackingFrame = (function() { + + /** + * Properties of an ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1 + * @interface IObjectTrackingFrame + * @property {google.cloud.videointelligence.v1.INormalizedBoundingBox|null} [normalizedBoundingBox] ObjectTrackingFrame normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] ObjectTrackingFrame timeOffset + */ + + /** + * Constructs a new ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ObjectTrackingFrame. + * @implements IObjectTrackingFrame + * @constructor + * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame=} [properties] Properties to set + */ + function ObjectTrackingFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingFrame normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.normalizedBoundingBox = null; + + /** + * ObjectTrackingFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.timeOffset = null; + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame instance + */ + ObjectTrackingFrame.create = function create(properties) { + return new ObjectTrackingFrame(properties); + }; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ObjectTrackingFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates an ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame + */ + ObjectTrackingFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingFrame(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingFrame.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1.ObjectTrackingFrame} message ObjectTrackingFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingFrame; + })(); + + v1.ObjectTrackingAnnotation = (function() { + + /** + * Properties of an ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface IObjectTrackingAnnotation + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment + * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId + * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] ObjectTrackingAnnotation entity + * @property {number|null} [confidence] ObjectTrackingAnnotation confidence + * @property {Array.|null} [frames] ObjectTrackingAnnotation frames + */ + + /** + * Constructs a new ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents an ObjectTrackingAnnotation. + * @implements IObjectTrackingAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.IObjectTrackingAnnotation=} [properties] Properties to set + */ + function ObjectTrackingAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingAnnotation segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.segment = null; + + /** + * ObjectTrackingAnnotation trackId. + * @member {number|Long} trackId + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * ObjectTrackingAnnotation entity. + * @member {google.cloud.videointelligence.v1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.entity = null; + + /** + * ObjectTrackingAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.confidence = 0; + + /** + * ObjectTrackingAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ObjectTrackingAnnotation trackInfo. + * @member {"segment"|"trackId"|undefined} trackInfo + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + Object.defineProperty(ObjectTrackingAnnotation.prototype, "trackInfo", { + get: $util.oneOfGetter($oneOfFields = ["segment", "trackId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ObjectTrackingAnnotation} ObjectTrackingAnnotation instance + */ + ObjectTrackingAnnotation.create = function create(properties) { + return new ObjectTrackingAnnotation(properties); + }; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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); + if (message.trackId != null && message.hasOwnProperty("trackId")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 5: + message.trackId = reader.int64(); + break; + case 1: + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + case 4: + message.confidence = reader.float(); + break; + case 2: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.segment != null && message.hasOwnProperty("segment")) { + properties.trackInfo = 1; + { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + } + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (properties.trackInfo === 1) + return "trackInfo: multiple values"; + properties.trackInfo = 1; + if (!$util.isInteger(message.trackId) && !(message.trackId && $util.isInteger(message.trackId.low) && $util.isInteger(message.trackId.high))) + return "trackId: integer|Long expected"; + } + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + */ + ObjectTrackingAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingAnnotation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + if (object.trackId != null) + if ($util.Long) + (message.trackId = $util.Long.fromValue(object.trackId)).unsigned = false; + else if (typeof object.trackId === "string") + message.trackId = parseInt(object.trackId, 10); + else if (typeof object.trackId === "number") + message.trackId = object.trackId; + else if (typeof object.trackId === "object") + message.trackId = new $util.LongBits(object.trackId.low >>> 0, object.trackId.high >>> 0).toNumber(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.entity); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ObjectTrackingAnnotation} message ObjectTrackingAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.entity = null; + object.confidence = 0; + } + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options); + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.toObject(message.frames[j], options); + } + if (message.segment != null && message.hasOwnProperty("segment")) { + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + if (options.oneofs) + object.trackInfo = "segment"; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (typeof message.trackId === "number") + object.trackId = options.longs === String ? String(message.trackId) : message.trackId; + else + object.trackId = options.longs === String ? $util.Long.prototype.toString.call(message.trackId) : options.longs === Number ? new $util.LongBits(message.trackId.low >>> 0, message.trackId.high >>> 0).toNumber() : message.trackId; + if (options.oneofs) + object.trackInfo = "trackId"; + } + return object; + }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingAnnotation; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} FACE_DETECTION=4 FACE_DETECTION value + * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value + * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value + * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + */ + v1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "FACE_DETECTION"] = 4; + values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; + values[valuesById[7] = "TEXT_DETECTION"] = 7; + values[valuesById[9] = "OBJECT_TRACKING"] = 9; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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 v1; + })(); + + videointelligence.v1beta1 = (function() { + + /** + * Namespace v1beta1. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1beta1 = {}; + + v1beta1.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1beta1.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1beta1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1beta1.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {string|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1beta1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {string} inputContent + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = ""; + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1beta1.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.string(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!$util.isString(message.inputContent)) + return "inputContent: string expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + message.inputContent = String(object.inputContent); + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "FACE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "SHOT_CHANGE_DETECTION": + case 3: + message.features[i] = 3; + break; + case "SAFE_SEARCH_DETECTION": + case 4: + message.features[i] = 4; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + object.inputContent = ""; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1beta1.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1beta1.LabelDetectionMode|null} [labelDetectionMode] VideoContext labelDetectionMode + * @property {boolean|null} [stationaryCamera] VideoContext stationaryCamera + * @property {string|null} [labelDetectionModel] VideoContext labelDetectionModel + * @property {string|null} [faceDetectionModel] VideoContext faceDetectionModel + * @property {string|null} [shotChangeDetectionModel] VideoContext shotChangeDetectionModel + * @property {string|null} [safeSearchDetectionModel] VideoContext safeSearchDetectionModel + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionMode. + * @member {google.cloud.videointelligence.v1beta1.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionMode = 0; + + /** + * VideoContext stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.stationaryCamera = false; + + /** + * VideoContext labelDetectionModel. + * @member {string} labelDetectionModel + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionModel = ""; + + /** + * VideoContext faceDetectionModel. + * @member {string} faceDetectionModel + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.faceDetectionModel = ""; + + /** + * VideoContext shotChangeDetectionModel. + * @member {string} shotChangeDetectionModel + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionModel = ""; + + /** + * VideoContext safeSearchDetectionModel. + * @member {string} safeSearchDetectionModel + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + */ + VideoContext.prototype.safeSearchDetectionModel = ""; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.stationaryCamera); + if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.labelDetectionModel); + if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.faceDetectionModel); + if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.shotChangeDetectionModel); + if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.safeSearchDetectionModel); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionMode = reader.int32(); + break; + case 3: + message.stationaryCamera = reader.bool(); + break; + case 4: + message.labelDetectionModel = reader.string(); + break; + case 5: + message.faceDetectionModel = reader.string(); + break; + case 6: + message.shotChangeDetectionModel = reader.string(); + break; + case 7: + message.safeSearchDetectionModel = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) + if (!$util.isString(message.labelDetectionModel)) + return "labelDetectionModel: string expected"; + if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) + if (!$util.isString(message.faceDetectionModel)) + return "faceDetectionModel: string expected"; + if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) + if (!$util.isString(message.shotChangeDetectionModel)) + return "shotChangeDetectionModel: string expected"; + if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) + if (!$util.isString(message.safeSearchDetectionModel)) + return "safeSearchDetectionModel: string expected"; + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segments[i]); + } + } + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.labelDetectionModel != null) + message.labelDetectionModel = String(object.labelDetectionModel); + if (object.faceDetectionModel != null) + message.faceDetectionModel = String(object.faceDetectionModel); + if (object.shotChangeDetectionModel != null) + message.shotChangeDetectionModel = String(object.shotChangeDetectionModel); + if (object.safeSearchDetectionModel != null) + message.safeSearchDetectionModel = String(object.safeSearchDetectionModel); + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta1.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.labelDetectionModel = ""; + object.faceDetectionModel = ""; + object.shotChangeDetectionModel = ""; + object.safeSearchDetectionModel = ""; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) + object.labelDetectionModel = message.labelDetectionModel; + if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) + object.faceDetectionModel = message.faceDetectionModel; + if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) + object.shotChangeDetectionModel = message.shotChangeDetectionModel; + if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) + object.safeSearchDetectionModel = message.safeSearchDetectionModel; + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1beta1.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IVideoSegment + * @property {number|Long|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {number|Long|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {number|Long} startTimeOffset + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * VideoSegment endTimeOffset. + * @member {number|Long} endTimeOffset + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.startTimeOffset); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.endTimeOffset); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = reader.int64(); + break; + case 2: + message.endTimeOffset = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (!$util.isInteger(message.startTimeOffset) && !(message.startTimeOffset && $util.isInteger(message.startTimeOffset.low) && $util.isInteger(message.startTimeOffset.high))) + return "startTimeOffset: integer|Long expected"; + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (!$util.isInteger(message.endTimeOffset) && !(message.endTimeOffset && $util.isInteger(message.endTimeOffset.low) && $util.isInteger(message.endTimeOffset.high))) + return "endTimeOffset: integer|Long expected"; + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.VideoSegment(); + if (object.startTimeOffset != null) + if ($util.Long) + (message.startTimeOffset = $util.Long.fromValue(object.startTimeOffset)).unsigned = false; + else if (typeof object.startTimeOffset === "string") + message.startTimeOffset = parseInt(object.startTimeOffset, 10); + else if (typeof object.startTimeOffset === "number") + message.startTimeOffset = object.startTimeOffset; + else if (typeof object.startTimeOffset === "object") + message.startTimeOffset = new $util.LongBits(object.startTimeOffset.low >>> 0, object.startTimeOffset.high >>> 0).toNumber(); + if (object.endTimeOffset != null) + if ($util.Long) + (message.endTimeOffset = $util.Long.fromValue(object.endTimeOffset)).unsigned = false; + else if (typeof object.endTimeOffset === "string") + message.endTimeOffset = parseInt(object.endTimeOffset, 10); + else if (typeof object.endTimeOffset === "number") + message.endTimeOffset = object.endTimeOffset; + else if (typeof object.endTimeOffset === "object") + message.endTimeOffset = new $util.LongBits(object.endTimeOffset.low >>> 0, object.endTimeOffset.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta1.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.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.startTimeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startTimeOffset = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.endTimeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.endTimeOffset = options.longs === String ? "0" : 0; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (typeof message.startTimeOffset === "number") + object.startTimeOffset = options.longs === String ? String(message.startTimeOffset) : message.startTimeOffset; + else + object.startTimeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeOffset) : options.longs === Number ? new $util.LongBits(message.startTimeOffset.low >>> 0, message.startTimeOffset.high >>> 0).toNumber() : message.startTimeOffset; + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (typeof message.endTimeOffset === "number") + object.endTimeOffset = options.longs === String ? String(message.endTimeOffset) : message.endTimeOffset; + else + object.endTimeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeOffset) : options.longs === Number ? new $util.LongBits(message.endTimeOffset.low >>> 0, message.endTimeOffset.high >>> 0).toNumber() : message.endTimeOffset; + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1beta1.LabelLocation = (function() { + + /** + * Properties of a LabelLocation. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface ILabelLocation + * @property {google.cloud.videointelligence.v1beta1.IVideoSegment|null} [segment] LabelLocation segment + * @property {number|null} [confidence] LabelLocation confidence + * @property {google.cloud.videointelligence.v1beta1.LabelLevel|null} [level] LabelLocation level + */ + + /** + * Constructs a new LabelLocation. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a LabelLocation. + * @implements ILabelLocation + * @constructor + * @param {google.cloud.videointelligence.v1beta1.ILabelLocation=} [properties] Properties to set + */ + function LabelLocation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelLocation segment. + * @member {google.cloud.videointelligence.v1beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @instance + */ + LabelLocation.prototype.segment = null; + + /** + * LabelLocation confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @instance + */ + LabelLocation.prototype.confidence = 0; + + /** + * LabelLocation level. + * @member {google.cloud.videointelligence.v1beta1.LabelLevel} level + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @instance + */ + LabelLocation.prototype.level = 0; + + /** + * Creates a new LabelLocation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelLocation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation instance + */ + LabelLocation.create = function create(properties) { + return new LabelLocation(properties); + }; + + /** + * Encodes the specified LabelLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelLocation} message LabelLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelLocation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segment, 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.level != null && message.hasOwnProperty("level")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.level); + return writer; + }; + + /** + * Encodes the specified LabelLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelLocation} message LabelLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelLocation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelLocation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelLocation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.LabelLocation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.level = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelLocation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelLocation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelLocation message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelLocation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.level != null && message.hasOwnProperty("level")) + switch (message.level) { + default: + return "level: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + return null; + }; + + /** + * Creates a LabelLocation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation + */ + LabelLocation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.LabelLocation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.LabelLocation(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.LabelLocation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + switch (object.level) { + case "LABEL_LEVEL_UNSPECIFIED": + case 0: + message.level = 0; + break; + case "VIDEO_LEVEL": + case 1: + message.level = 1; + break; + case "SEGMENT_LEVEL": + case 2: + message.level = 2; + break; + case "SHOT_LEVEL": + case 3: + message.level = 3; + break; + case "FRAME_LEVEL": + case 4: + message.level = 4; + break; + } + return message; + }; + + /** + * Creates a plain object from a LabelLocation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.LabelLocation} message LabelLocation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelLocation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + object.level = options.enums === String ? "LABEL_LEVEL_UNSPECIFIED" : 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.level != null && message.hasOwnProperty("level")) + object.level = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.LabelLevel[message.level] : message.level; + return object; + }; + + /** + * Converts this LabelLocation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.LabelLocation + * @instance + * @returns {Object.} JSON object + */ + LabelLocation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelLocation; + })(); + + v1beta1.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface ILabelAnnotation + * @property {string|null} [description] LabelAnnotation description + * @property {string|null} [languageCode] LabelAnnotation languageCode + * @property {Array.|null} [locations] LabelAnnotation locations + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.locations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.description = ""; + + /** + * LabelAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.languageCode = ""; + + /** + * LabelAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.locations = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.LabelLocation.encode(message.locations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.description = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.videointelligence.v1beta1.LabelLocation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string 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.videointelligence.v1beta1.LabelLocation.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.LabelAnnotation(); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.LabelAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.LabelAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.videointelligence.v1beta1.LabelLocation.fromObject(object.locations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.locations = []; + if (options.defaults) { + object.description = ""; + object.languageCode = ""; + } + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.videointelligence.v1beta1.LabelLocation.toObject(message.locations[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1beta1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [violent] SafeSearchAnnotation violent + * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @property {number|Long|null} [timeOffset] SafeSearchAnnotation timeOffset + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.Likelihood} adult + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.videointelligence.v1beta1.Likelihood} spoof + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.videointelligence.v1beta1.Likelihood} medical + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violent. + * @member {google.cloud.videointelligence.v1beta1.Likelihood} violent + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violent = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.videointelligence.v1beta1.Likelihood} racy + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * SafeSearchAnnotation timeOffset. + * @member {number|Long} timeOffset + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.timeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.violent != null && message.hasOwnProperty("violent")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violent); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.racy); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + writer.uint32(/* id 6, wireType 0 =*/48).int64(message.timeOffset); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.violent = reader.int32(); + break; + case 5: + message.racy = reader.int32(); + break; + case 6: + message.timeOffset = reader.int64(); + 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.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.violent != null && message.hasOwnProperty("violent")) + switch (message.violent) { + default: + return "violent: 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.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (!$util.isInteger(message.timeOffset) && !(message.timeOffset && $util.isInteger(message.timeOffset.low) && $util.isInteger(message.timeOffset.high))) + return "timeOffset: integer|Long expected"; + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.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.violent) { + case "UNKNOWN": + case 0: + message.violent = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violent = 1; + break; + case "UNLIKELY": + case 2: + message.violent = 2; + break; + case "POSSIBLE": + case 3: + message.violent = 3; + break; + case "LIKELY": + case 4: + message.violent = 4; + break; + case "VERY_LIKELY": + case 5: + message.violent = 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.timeOffset != null) + if ($util.Long) + (message.timeOffset = $util.Long.fromValue(object.timeOffset)).unsigned = false; + else if (typeof object.timeOffset === "string") + message.timeOffset = parseInt(object.timeOffset, 10); + else if (typeof object.timeOffset === "number") + message.timeOffset = object.timeOffset; + else if (typeof object.timeOffset === "object") + message.timeOffset = new $util.LongBits(object.timeOffset.low >>> 0, object.timeOffset.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.violent = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.timeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timeOffset = options.longs === String ? "0" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.medical] : message.medical; + if (message.violent != null && message.hasOwnProperty("violent")) + object.violent = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.violent] : message.violent; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.racy] : message.racy; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (typeof message.timeOffset === "number") + object.timeOffset = options.longs === String ? String(message.timeOffset) : message.timeOffset; + else + object.timeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.timeOffset) : options.longs === Number ? new $util.LongBits(message.timeOffset.low >>> 0, message.timeOffset.high >>> 0).toNumber() : message.timeOffset; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1beta1.BoundingBox = (function() { + + /** + * Properties of a BoundingBox. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IBoundingBox + * @property {number|null} [left] BoundingBox left + * @property {number|null} [right] BoundingBox right + * @property {number|null} [bottom] BoundingBox bottom + * @property {number|null} [top] BoundingBox top + */ + + /** + * Constructs a new BoundingBox. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a BoundingBox. + * @implements IBoundingBox + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IBoundingBox=} [properties] Properties to set + */ + function BoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @instance + */ + BoundingBox.prototype.left = 0; + + /** + * BoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @instance + */ + BoundingBox.prototype.right = 0; + + /** + * BoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @instance + */ + BoundingBox.prototype.bottom = 0; + + /** + * BoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @instance + */ + BoundingBox.prototype.top = 0; + + /** + * Creates a new BoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta1.IBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox instance + */ + BoundingBox.create = function create(properties) { + return new BoundingBox(properties); + }; + + /** + * Encodes the specified BoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta1.IBoundingBox} message BoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.left); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.bottom); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.top); + return writer; + }; + + /** + * Encodes the specified BoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta1.IBoundingBox} message BoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.BoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.int32(); + break; + case 2: + message.right = reader.int32(); + break; + case 3: + message.bottom = reader.int32(); + break; + case 4: + message.top = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (!$util.isInteger(message.left)) + return "left: integer expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (!$util.isInteger(message.right)) + return "right: integer expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (!$util.isInteger(message.bottom)) + return "bottom: integer expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (!$util.isInteger(message.top)) + return "top: integer expected"; + return null; + }; + + /** + * Creates a BoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox + */ + BoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.BoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.BoundingBox(); + if (object.left != null) + message.left = object.left | 0; + if (object.right != null) + message.right = object.right | 0; + if (object.bottom != null) + message.bottom = object.bottom | 0; + if (object.top != null) + message.top = object.top | 0; + return message; + }; + + /** + * Creates a plain object from a BoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta1.BoundingBox} message BoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.right = 0; + object.bottom = 0; + object.top = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = message.left; + if (message.right != null && message.hasOwnProperty("right")) + object.right = message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = message.bottom; + if (message.top != null && message.hasOwnProperty("top")) + object.top = message.top; + return object; + }; + + /** + * Converts this BoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.BoundingBox + * @instance + * @returns {Object.} JSON object + */ + BoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingBox; + })(); + + v1beta1.FaceLocation = (function() { + + /** + * Properties of a FaceLocation. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IFaceLocation + * @property {google.cloud.videointelligence.v1beta1.IBoundingBox|null} [boundingBox] FaceLocation boundingBox + * @property {number|Long|null} [timeOffset] FaceLocation timeOffset + */ + + /** + * Constructs a new FaceLocation. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a FaceLocation. + * @implements IFaceLocation + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IFaceLocation=} [properties] Properties to set + */ + function FaceLocation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceLocation boundingBox. + * @member {google.cloud.videointelligence.v1beta1.IBoundingBox|null|undefined} boundingBox + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @instance + */ + FaceLocation.prototype.boundingBox = null; + + /** + * FaceLocation timeOffset. + * @member {number|Long} timeOffset + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @instance + */ + FaceLocation.prototype.timeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new FaceLocation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.IFaceLocation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation instance + */ + FaceLocation.create = function create(properties) { + return new FaceLocation(properties); + }; + + /** + * Encodes the specified FaceLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.IFaceLocation} message FaceLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceLocation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.videointelligence.v1beta1.BoundingBox.encode(message.boundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.timeOffset); + return writer; + }; + + /** + * Encodes the specified FaceLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.IFaceLocation} message FaceLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceLocation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceLocation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceLocation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.FaceLocation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceLocation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceLocation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceLocation message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceLocation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.videointelligence.v1beta1.BoundingBox.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (!$util.isInteger(message.timeOffset) && !(message.timeOffset && $util.isInteger(message.timeOffset.low) && $util.isInteger(message.timeOffset.high))) + return "timeOffset: integer|Long expected"; + return null; + }; + + /** + * Creates a FaceLocation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation + */ + FaceLocation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.FaceLocation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.FaceLocation(); + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.FaceLocation.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.fromObject(object.boundingBox); + } + if (object.timeOffset != null) + if ($util.Long) + (message.timeOffset = $util.Long.fromValue(object.timeOffset)).unsigned = false; + else if (typeof object.timeOffset === "string") + message.timeOffset = parseInt(object.timeOffset, 10); + else if (typeof object.timeOffset === "number") + message.timeOffset = object.timeOffset; + else if (typeof object.timeOffset === "object") + message.timeOffset = new $util.LongBits(object.timeOffset.low >>> 0, object.timeOffset.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a FaceLocation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @static + * @param {google.cloud.videointelligence.v1beta1.FaceLocation} message FaceLocation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceLocation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingBox = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.timeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timeOffset = options.longs === String ? "0" : 0; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.toObject(message.boundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (typeof message.timeOffset === "number") + object.timeOffset = options.longs === String ? String(message.timeOffset) : message.timeOffset; + else + object.timeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.timeOffset) : options.longs === Number ? new $util.LongBits(message.timeOffset.low >>> 0, message.timeOffset.high >>> 0).toNumber() : message.timeOffset; + return object; + }; + + /** + * Converts this FaceLocation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.FaceLocation + * @instance + * @returns {Object.} JSON object + */ + FaceLocation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceLocation; + })(); + + v1beta1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IFaceAnnotation + * @property {string|null} [thumbnail] FaceAnnotation thumbnail + * @property {Array.|null} [segments] FaceAnnotation segments + * @property {Array.|null} [locations] FaceAnnotation locations + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.segments = []; + this.locations = []; + if (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 thumbnail. + * @member {string} thumbnail + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.thumbnail = ""; + + /** + * FaceAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.segments = $util.emptyArray; + + /** + * FaceAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.locations = $util.emptyArray; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.thumbnail); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.FaceLocation.encode(message.locations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.thumbnail = reader.string(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.videointelligence.v1beta1.FaceLocation.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.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!$util.isString(message.thumbnail)) + return "thumbnail: string expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + 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.videointelligence.v1beta1.FaceLocation.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.FaceAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.FaceAnnotation(); + if (object.thumbnail != null) + message.thumbnail = String(object.thumbnail); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.videointelligence.v1beta1.FaceLocation.fromObject(object.locations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta1.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.segments = []; + object.locations = []; + } + if (options.defaults) + object.thumbnail = ""; + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = message.thumbnail; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segments[j], options); + } + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.videointelligence.v1beta1.FaceLocation.toObject(message.locations[j], options); + } + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceAnnotation; + })(); + + v1beta1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {Array.|null} [labelAnnotations] VideoAnnotationResults labelAnnotations + * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {Array.|null} [safeSearchAnnotations] VideoAnnotationResults safeSearchAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.labelAnnotations = []; + this.faceAnnotations = []; + this.shotAnnotations = []; + this.safeSearchAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.labelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults safeSearchAnnotations. + * @member {Array.} safeSearchAnnotations + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.safeSearchAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotations != null && message.safeSearchAnnotations.length) + for (var i = 0; i < message.safeSearchAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.videointelligence.v1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.videointelligence.v1beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.safeSearchAnnotations && message.safeSearchAnnotations.length)) + message.safeSearchAnnotations = []; + message.safeSearchAnnotations.push($root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.decode(reader, reader.uint32())); + break; + case 5: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + 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.videointelligence.v1beta1.LabelAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + 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.videointelligence.v1beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.safeSearchAnnotations != null && message.hasOwnProperty("safeSearchAnnotations")) { + if (!Array.isArray(message.safeSearchAnnotations)) + return "safeSearchAnnotations: array expected"; + for (var i = 0; i < message.safeSearchAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotations[i]); + if (error) + return "safeSearchAnnotations." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.safeSearchAnnotations) { + if (!Array.isArray(object.safeSearchAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.safeSearchAnnotations: array expected"); + message.safeSearchAnnotations = []; + for (var i = 0; i < object.safeSearchAnnotations.length; ++i) { + if (typeof object.safeSearchAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.safeSearchAnnotations: object expected"); + message.safeSearchAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotations[i]); + } + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.labelAnnotations = []; + object.faceAnnotations = []; + object.shotAnnotations = []; + object.safeSearchAnnotations = []; + } + if (options.defaults) { + object.inputUri = ""; + object.error = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.toObject(message.labelAnnotations[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.videointelligence.v1beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.safeSearchAnnotations && message.safeSearchAnnotations.length) { + object.safeSearchAnnotations = []; + for (var j = 0; j < message.safeSearchAnnotations.length; ++j) + object.safeSearchAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotations[j], options); + } + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1beta1.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1beta1.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1beta1.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1beta1 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1beta1 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1beta1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} FACE_DETECTION=2 FACE_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=3 SHOT_CHANGE_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=4 SAFE_SEARCH_DETECTION value + */ + v1beta1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "FACE_DETECTION"] = 2; + values[valuesById[3] = "SHOT_CHANGE_DETECTION"] = 3; + values[valuesById[4] = "SAFE_SEARCH_DETECTION"] = 4; + return values; + })(); + + /** + * LabelLevel enum. + * @name google.cloud.videointelligence.v1beta1.LabelLevel + * @enum {string} + * @property {number} LABEL_LEVEL_UNSPECIFIED=0 LABEL_LEVEL_UNSPECIFIED value + * @property {number} VIDEO_LEVEL=1 VIDEO_LEVEL value + * @property {number} SEGMENT_LEVEL=2 SEGMENT_LEVEL value + * @property {number} SHOT_LEVEL=3 SHOT_LEVEL value + * @property {number} FRAME_LEVEL=4 FRAME_LEVEL value + */ + v1beta1.LabelLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_LEVEL_UNSPECIFIED"] = 0; + values[valuesById[1] = "VIDEO_LEVEL"] = 1; + values[valuesById[2] = "SEGMENT_LEVEL"] = 2; + values[valuesById[3] = "SHOT_LEVEL"] = 3; + values[valuesById[4] = "FRAME_LEVEL"] = 4; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1beta1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1beta1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1beta1.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 + */ + v1beta1.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 v1beta1; + })(); + + videointelligence.v1beta2 = (function() { + + /** + * Namespace v1beta2. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1beta2 = {}; + + v1beta2.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1beta2.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1beta2.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1beta2.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1beta2.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1beta2.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1beta2.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1beta2.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.bytes(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.features[i] = 3; + break; + case "FACE_DETECTION": + case 4: + message.features[i] = 4; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1beta2.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + if (options.bytes === String) + object.inputContent = ""; + else { + object.inputContent = []; + if (options.bytes !== Array) + object.inputContent = $util.newBuffer(object.inputContent); + } + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1beta2.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig + * @property {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null} [faceDetectionConfig] VideoContext faceDetectionConfig + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionConfig. + * @member {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionConfig = null; + + /** + * VideoContext shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionConfig = null; + + /** + * VideoContext explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + */ + VideoContext.prototype.explicitContentDetectionConfig = null; + + /** + * VideoContext faceDetectionConfig. + * @member {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null|undefined} faceDetectionConfig + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + */ + VideoContext.prototype.faceDetectionConfig = null; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 5: + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify(message.faceDetectionConfig); + if (error) + return "faceDetectionConfig." + error; + } + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1beta2.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.faceDetectionConfig != null) { + if (typeof object.faceDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoContext.faceDetectionConfig: object expected"); + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.fromObject(object.faceDetectionConfig); + } + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {google.cloud.videointelligence.v1beta2.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionConfig = null; + object.shotChangeDetectionConfig = null; + object.explicitContentDetectionConfig = null; + object.faceDetectionConfig = null; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1beta2.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + object.faceDetectionConfig = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.toObject(message.faceDetectionConfig, options); + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1beta2.LabelDetectionConfig = (function() { + + /** + * Properties of a LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface ILabelDetectionConfig + * @property {google.cloud.videointelligence.v1beta2.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode + * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera + * @property {string|null} [model] LabelDetectionConfig model + */ + + /** + * Constructs a new LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a LabelDetectionConfig. + * @implements ILabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig=} [properties] Properties to set + */ + function LabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDetectionConfig labelDetectionMode. + * @member {google.cloud.videointelligence.v1beta2.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.labelDetectionMode = 0; + + /** + * LabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * LabelDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.model = ""; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.LabelDetectionConfig} LabelDetectionConfig instance + */ + LabelDetectionConfig.create = function create(properties) { + return new LabelDetectionConfig(properties); + }; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.labelDetectionMode = reader.int32(); + break; + case 2: + message.stationaryCamera = reader.bool(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.LabelDetectionConfig} LabelDetectionConfig + */ + LabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig(); + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.LabelDetectionConfig} message LabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.model = ""; + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + LabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelDetectionConfig; + })(); + + v1beta2.ShotChangeDetectionConfig = (function() { + + /** + * Properties of a ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IShotChangeDetectionConfig + * @property {string|null} [model] ShotChangeDetectionConfig model + */ + + /** + * Constructs a new ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a ShotChangeDetectionConfig. + * @implements IShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig=} [properties] Properties to set + */ + function ShotChangeDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShotChangeDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @instance + */ + ShotChangeDetectionConfig.prototype.model = ""; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance + */ + ShotChangeDetectionConfig.create = function create(properties) { + return new ShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} ShotChangeDetectionConfig + */ + ShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} message ShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShotChangeDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShotChangeDetectionConfig; + })(); + + v1beta2.ExplicitContentDetectionConfig = (function() { + + /** + * Properties of an ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model + */ + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig=} [properties] Properties to set + */ + function ExplicitContentDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @instance + */ + ExplicitContentDetectionConfig.prototype.model = ""; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + */ + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + */ + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentDetectionConfig; + })(); + + v1beta2.FaceDetectionConfig = (function() { + + /** + * Properties of a FaceDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IFaceDetectionConfig + * @property {string|null} [model] FaceDetectionConfig model + * @property {boolean|null} [includeBoundingBoxes] FaceDetectionConfig includeBoundingBoxes + */ + + /** + * Constructs a new FaceDetectionConfig. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a FaceDetectionConfig. + * @implements IFaceDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig=} [properties] Properties to set + */ + function FaceDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.model = ""; + + /** + * FaceDetectionConfig includeBoundingBoxes. + * @member {boolean} includeBoundingBoxes + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.includeBoundingBoxes = false; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.FaceDetectionConfig} FaceDetectionConfig instance + */ + FaceDetectionConfig.create = function create(properties) { + return new FaceDetectionConfig(properties); + }; + + /** + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); + return writer; + }; + + /** + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.FaceDetectionConfig} FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + case 2: + message.includeBoundingBoxes = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.FaceDetectionConfig} FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (typeof message.includeBoundingBoxes !== "boolean") + return "includeBoundingBoxes: boolean expected"; + return null; + }; + + /** + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.FaceDetectionConfig} FaceDetectionConfig + */ + FaceDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + if (object.includeBoundingBoxes != null) + message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + return message; + }; + + /** + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1beta2.FaceDetectionConfig} message FaceDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.model = ""; + object.includeBoundingBoxes = false; + } + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + object.includeBoundingBoxes = message.includeBoundingBoxes; + return object; + }; + + /** + * Converts this FaceDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + FaceDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceDetectionConfig; + })(); + + v1beta2.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = null; + + /** + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = null; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); + if (error) + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; + } + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); + } + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTimeOffset = null; + object.endTimeOffset = null; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1beta2.LabelSegment = (function() { + + /** + * Properties of a LabelSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1beta2.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence + */ + + /** + * Constructs a new LabelSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment + * @constructor + * @param {google.cloud.videointelligence.v1beta2.ILabelSegment=} [properties] Properties to set + */ + function LabelSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1beta2.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @instance + */ + LabelSegment.prototype.segment = null; + + /** + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @instance + */ + LabelSegment.prototype.confidence = 0; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.LabelSegment} LabelSegment instance + */ + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); + }; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segment, 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 LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.LabelSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.LabelSegment} LabelSegment + */ + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.LabelSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.LabelSegment} message LabelSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @instance + * @returns {Object.} JSON object + */ + LabelSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelSegment; + })(); + + v1beta2.LabelFrame = (function() { + + /** + * Properties of a LabelFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence + */ + + /** + * Constructs a new LabelFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame + * @constructor + * @param {google.cloud.videointelligence.v1beta2.ILabelFrame=} [properties] Properties to set + */ + function LabelFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @instance + */ + LabelFrame.prototype.timeOffset = null; + + /** + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @instance + */ + LabelFrame.prototype.confidence = 0; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.LabelFrame} LabelFrame instance + */ + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); + }; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.LabelFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.LabelFrame} LabelFrame + */ + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.LabelFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.LabelFrame} message LabelFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @instance + * @returns {Object.} JSON object + */ + LabelFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelFrame; + })(); + + v1beta2.Entity = (function() { + + /** + * Properties of an Entity. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode + */ + + /** + * Constructs a new Entity. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an Entity. + * @implements IEntity + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IEntity=} [properties] Properties to set + */ + function Entity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @instance + */ + Entity.prototype.entityId = ""; + + /** + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @instance + */ + Entity.prototype.description = ""; + + /** + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {google.cloud.videointelligence.v1beta2.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.Entity} Entity instance + */ + Entity.create = function create(properties) { + return new Entity(properties); + }; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {google.cloud.videointelligence.v1beta2.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.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.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {google.cloud.videointelligence.v1beta2.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.Entity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Entity message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Entity.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.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.Entity} Entity + */ + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.Entity) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {google.cloud.videointelligence.v1beta2.Entity} message Entity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Entity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.description = ""; + object.languageCode = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this Entity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @instance + * @returns {Object.} JSON object + */ + Entity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Entity; + })(); + + v1beta2.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1beta2.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta2.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1beta2.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.entity = null; + + /** + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1beta2.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1beta2.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1beta2.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1beta2.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.LabelFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1beta2.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1beta2.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1beta2.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1beta2.LabelSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1beta2.LabelFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; + object.frames = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1beta2.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1beta2.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1beta2.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1beta2.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1beta2.ExplicitContentFrame = (function() { + + /** + * Properties of an ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1beta2.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + */ + + /** + * Constructs a new ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentFrame=} [properties] Properties to set + */ + function ExplicitContentFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.timeOffset = null; + + /** + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1beta2.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.pornographyLikelihood = 0; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentFrame} ExplicitContentFrame instance + */ + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); + }; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + return writer; + }; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.pornographyLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentFrame} ExplicitContentFrame + */ + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.ExplicitContentFrame} message ExplicitContentFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + return object; + }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentFrame; + })(); + + v1beta2.ExplicitContentAnnotation = (function() { + + /** + * Properties of an ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames + */ + + /** + * Constructs a new ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation=} [properties] Properties to set + */ + function ExplicitContentAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} ExplicitContentAnnotation instance + */ + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); + }; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} ExplicitContentAnnotation + */ + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentAnnotation; + })(); + + v1beta2.NormalizedBoundingBox = (function() { + + /** + * Properties of a NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface INormalizedBoundingBox + * @property {number|null} [left] NormalizedBoundingBox left + * @property {number|null} [top] NormalizedBoundingBox top + * @property {number|null} [right] NormalizedBoundingBox right + * @property {number|null} [bottom] NormalizedBoundingBox bottom + */ + + /** + * Constructs a new NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a NormalizedBoundingBox. + * @implements INormalizedBoundingBox + * @constructor + * @param {google.cloud.videointelligence.v1beta2.INormalizedBoundingBox=} [properties] Properties to set + */ + function NormalizedBoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.left = 0; + + /** + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.top = 0; + + /** + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.right = 0; + + /** + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.bottom = 0; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta2.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} NormalizedBoundingBox instance + */ + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); + }; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta2.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta2.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.float(); + break; + case 2: + message.top = reader.float(); + break; + case 3: + message.right = reader.float(); + break; + case 4: + message.bottom = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; + return null; + }; + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} NormalizedBoundingBox + */ + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + return object; + }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingBox; + })(); + + v1beta2.FaceSegment = (function() { + + /** + * Properties of a FaceSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IFaceSegment + * @property {google.cloud.videointelligence.v1beta2.IVideoSegment|null} [segment] FaceSegment segment + */ + + /** + * Constructs a new FaceSegment. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a FaceSegment. + * @implements IFaceSegment + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IFaceSegment=} [properties] Properties to set + */ + function FaceSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceSegment segment. + * @member {google.cloud.videointelligence.v1beta2.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @instance + */ + FaceSegment.prototype.segment = null; + + /** + * Creates a new FaceSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.FaceSegment} FaceSegment instance + */ + FaceSegment.create = function create(properties) { + return new FaceSegment(properties); + }; + + /** + * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceSegment} message FaceSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceSegment} message FaceSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.FaceSegment} FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.FaceSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.FaceSegment} FaceSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + return null; + }; + + /** + * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.FaceSegment} FaceSegment + */ + FaceSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.FaceSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.FaceSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.fromObject(object.segment); + } + return message; + }; + + /** + * Creates a plain object from a FaceSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {google.cloud.videointelligence.v1beta2.FaceSegment} message FaceSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.segment = null; + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.toObject(message.segment, options); + return object; + }; + + /** + * Converts this FaceSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @instance + * @returns {Object.} JSON object + */ + FaceSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceSegment; + })(); + + v1beta2.FaceFrame = (function() { + + /** + * Properties of a FaceFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IFaceFrame + * @property {Array.|null} [normalizedBoundingBoxes] FaceFrame normalizedBoundingBoxes + * @property {google.protobuf.IDuration|null} [timeOffset] FaceFrame timeOffset + */ + + /** + * Constructs a new FaceFrame. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a FaceFrame. + * @implements IFaceFrame + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IFaceFrame=} [properties] Properties to set + */ + function FaceFrame(properties) { + this.normalizedBoundingBoxes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceFrame normalizedBoundingBoxes. + * @member {Array.} normalizedBoundingBoxes + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @instance + */ + FaceFrame.prototype.normalizedBoundingBoxes = $util.emptyArray; + + /** + * FaceFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @instance + */ + FaceFrame.prototype.timeOffset = null; + + /** + * Creates a new FaceFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.FaceFrame} FaceFrame instance + */ + FaceFrame.create = function create(properties) { + return new FaceFrame(properties); + }; + + /** + * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceFrame} message FaceFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBoxes != null && message.normalizedBoundingBoxes.length) + for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) + $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.encode(message.normalizedBoundingBoxes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceFrame} message FaceFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.FaceFrame} FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.FaceFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) + message.normalizedBoundingBoxes = []; + message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.decode(reader, reader.uint32())); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.FaceFrame} FaceFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBoxes != null && message.hasOwnProperty("normalizedBoundingBoxes")) { + if (!Array.isArray(message.normalizedBoundingBoxes)) + return "normalizedBoundingBoxes: array expected"; + for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify(message.normalizedBoundingBoxes[i]); + if (error) + return "normalizedBoundingBoxes." + error; + } + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.FaceFrame} FaceFrame + */ + FaceFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.FaceFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.FaceFrame(); + if (object.normalizedBoundingBoxes) { + if (!Array.isArray(object.normalizedBoundingBoxes)) + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceFrame.normalizedBoundingBoxes: array expected"); + message.normalizedBoundingBoxes = []; + for (var i = 0; i < object.normalizedBoundingBoxes.length; ++i) { + if (typeof object.normalizedBoundingBoxes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceFrame.normalizedBoundingBoxes: object expected"); + message.normalizedBoundingBoxes[i] = $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.fromObject(object.normalizedBoundingBoxes[i]); + } + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from a FaceFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {google.cloud.videointelligence.v1beta2.FaceFrame} message FaceFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.normalizedBoundingBoxes = []; + if (options.defaults) + object.timeOffset = null; + if (message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length) { + object.normalizedBoundingBoxes = []; + for (var j = 0; j < message.normalizedBoundingBoxes.length; ++j) + object.normalizedBoundingBoxes[j] = $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.toObject(message.normalizedBoundingBoxes[j], options); + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this FaceFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @instance + * @returns {Object.} JSON object + */ + FaceFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceFrame; + })(); + + v1beta2.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IFaceAnnotation + * @property {Uint8Array|null} [thumbnail] FaceAnnotation thumbnail + * @property {Array.|null} [segments] FaceAnnotation segments + * @property {Array.|null} [frames] FaceAnnotation frames + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.segments = []; + this.frames = []; + if (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 thumbnail. + * @member {Uint8Array} thumbnail + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.thumbnail = $util.newBuffer([]); + + /** + * FaceAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.segments = $util.emptyArray; + + /** + * FaceAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.thumbnail); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1beta2.FaceSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1beta2.FaceFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.thumbnail = reader.bytes(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.FaceSegment.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.FaceFrame.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.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) + return "thumbnail: buffer expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.FaceSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.FaceFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.FaceAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.FaceAnnotation(); + if (object.thumbnail != null) + if (typeof object.thumbnail === "string") + $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); + else if (object.thumbnail.length) + message.thumbnail = object.thumbnail; + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1beta2.FaceSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.FaceAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1beta2.FaceFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @static + * @param {google.cloud.videointelligence.v1beta2.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.segments = []; + object.frames = []; + } + if (options.defaults) + if (options.bytes === String) + object.thumbnail = ""; + else { + object.thumbnail = []; + if (options.bytes !== Array) + object.thumbnail = $util.newBuffer(object.thumbnail); + } + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1beta2.FaceSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1beta2.FaceFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceAnnotation; + })(); + + v1beta2.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.faceAnnotations = []; + this.shotAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.encode(message.frameLabelAnnotations[i], 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.videointelligence.v1beta2.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.videointelligence.v1beta2.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + if (!Array.isArray(message.shotLabelAnnotations)) + return "shotLabelAnnotations: array expected"; + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.verify(message.shotLabelAnnotations[i]); + if (error) + return "shotLabelAnnotations." + error; + } + } + if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { + if (!Array.isArray(message.frameLabelAnnotations)) + return "frameLabelAnnotations: array expected"; + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.verify(message.frameLabelAnnotations[i]); + if (error) + return "frameLabelAnnotations." + 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.videointelligence.v1beta2.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.segmentLabelAnnotations) { + if (!Array.isArray(object.segmentLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.segmentLabelAnnotations: array expected"); + message.segmentLabelAnnotations = []; + for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) { + if (typeof object.segmentLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.segmentLabelAnnotations: object expected"); + message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); + } + } + if (object.shotLabelAnnotations) { + if (!Array.isArray(object.shotLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.shotLabelAnnotations: array expected"); + message.shotLabelAnnotations = []; + for (var i = 0; i < object.shotLabelAnnotations.length; ++i) { + if (typeof object.shotLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.shotLabelAnnotations: object expected"); + message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); + } + } + if (object.frameLabelAnnotations) { + if (!Array.isArray(object.frameLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.frameLabelAnnotations: array expected"); + message.frameLabelAnnotations = []; + for (var i = 0; i < object.frameLabelAnnotations.length; ++i) { + if (typeof object.frameLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.frameLabelAnnotations: object expected"); + message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); + } + } + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1beta2.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1beta2.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1beta2.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.segmentLabelAnnotations = []; + object.shotLabelAnnotations = []; + object.frameLabelAnnotations = []; + object.faceAnnotations = []; + object.shotAnnotations = []; + } + if (options.defaults) { + object.inputUri = ""; + object.explicitAnnotation = null; + object.error = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) { + object.segmentLabelAnnotations = []; + for (var j = 0; j < message.segmentLabelAnnotations.length; ++j) + object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options); + } + if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) { + object.shotLabelAnnotations = []; + for (var j = 0; j < message.shotLabelAnnotations.length; ++j) + object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options); + } + if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) { + object.frameLabelAnnotations = []; + for (var j = 0; j < message.frameLabelAnnotations.length; ++j) + object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1beta2.LabelAnnotation.toObject(message.frameLabelAnnotations[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.videointelligence.v1beta2.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1beta2.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1beta2.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1beta2.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1beta2.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1beta2.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1beta2 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1beta2 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1beta2.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1beta2.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1beta2.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} FACE_DETECTION=4 FACE_DETECTION value + */ + v1beta2.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "FACE_DETECTION"] = 4; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1beta2.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1beta2.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1beta2.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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 + */ + v1beta2.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LIKELIHOOD_UNSPECIFIED"] = 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 v1beta2; + })(); + + videointelligence.v1p1beta1 = (function() { + + /** + * Namespace v1p1beta1. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1p1beta1 = {}; + + v1p1beta1.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1p1beta1.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1p1beta1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1p1beta1.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1p1beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.bytes(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 6: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.features[i] = 3; + break; + case "SPEECH_TRANSCRIPTION": + case 6: + message.features[i] = 6; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + if (options.bytes === String) + object.inputContent = ""; + else { + object.inputContent = []; + if (options.bytes !== Array) + object.inputContent = $util.newBuffer(object.inputContent); + } + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1p1beta1.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig + * @property {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionConfig. + * @member {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionConfig = null; + + /** + * VideoContext shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionConfig = null; + + /** + * VideoContext explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + */ + VideoContext.prototype.explicitContentDetectionConfig = null; + + /** + * VideoContext speechTranscriptionConfig. + * @member {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null|undefined} speechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + */ + VideoContext.prototype.speechTranscriptionConfig = null; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 6: + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify(message.speechTranscriptionConfig); + if (error) + return "speechTranscriptionConfig." + error; + } + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.speechTranscriptionConfig != null) { + if (typeof object.speechTranscriptionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoContext.speechTranscriptionConfig: object expected"); + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.fromObject(object.speechTranscriptionConfig); + } + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionConfig = null; + object.shotChangeDetectionConfig = null; + object.explicitContentDetectionConfig = null; + object.speechTranscriptionConfig = null; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options); + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1p1beta1.LabelDetectionConfig = (function() { + + /** + * Properties of a LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ILabelDetectionConfig + * @property {google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode + * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera + * @property {string|null} [model] LabelDetectionConfig model + */ + + /** + * Constructs a new LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a LabelDetectionConfig. + * @implements ILabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig=} [properties] Properties to set + */ + function LabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDetectionConfig labelDetectionMode. + * @member {google.cloud.videointelligence.v1p1beta1.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.labelDetectionMode = 0; + + /** + * LabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * LabelDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.model = ""; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} LabelDetectionConfig instance + */ + LabelDetectionConfig.create = function create(properties) { + return new LabelDetectionConfig(properties); + }; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.labelDetectionMode = reader.int32(); + break; + case 2: + message.stationaryCamera = reader.bool(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} LabelDetectionConfig + */ + LabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig(); + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} message LabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.model = ""; + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + LabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelDetectionConfig; + })(); + + v1p1beta1.ShotChangeDetectionConfig = (function() { + + /** + * Properties of a ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IShotChangeDetectionConfig + * @property {string|null} [model] ShotChangeDetectionConfig model + */ + + /** + * Constructs a new ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a ShotChangeDetectionConfig. + * @implements IShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig=} [properties] Properties to set + */ + function ShotChangeDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShotChangeDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @instance + */ + ShotChangeDetectionConfig.prototype.model = ""; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance + */ + ShotChangeDetectionConfig.create = function create(properties) { + return new ShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + */ + ShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} message ShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShotChangeDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShotChangeDetectionConfig; + })(); + + v1p1beta1.ExplicitContentDetectionConfig = (function() { + + /** + * Properties of an ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model + */ + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + */ + function ExplicitContentDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @instance + */ + ExplicitContentDetectionConfig.prototype.model = ""; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + */ + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + */ + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentDetectionConfig; + })(); + + v1p1beta1.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = null; + + /** + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = null; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); + if (error) + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; + } + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); + } + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTimeOffset = null; + object.endTimeOffset = null; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1p1beta1.LabelSegment = (function() { + + /** + * Properties of a LabelSegment. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1p1beta1.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence + */ + + /** + * Constructs a new LabelSegment. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ILabelSegment=} [properties] Properties to set + */ + function LabelSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1p1beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.segment = null; + + /** + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.confidence = 0; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.LabelSegment} LabelSegment instance + */ + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); + }; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.segment, 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 LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.LabelSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.LabelSegment} LabelSegment + */ + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.LabelSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p1beta1.LabelSegment} message LabelSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @instance + * @returns {Object.} JSON object + */ + LabelSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelSegment; + })(); + + v1p1beta1.LabelFrame = (function() { + + /** + * Properties of a LabelFrame. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence + */ + + /** + * Constructs a new LabelFrame. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ILabelFrame=} [properties] Properties to set + */ + function LabelFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.timeOffset = null; + + /** + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.confidence = 0; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.LabelFrame} LabelFrame instance + */ + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); + }; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.LabelFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.LabelFrame} LabelFrame + */ + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.LabelFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.LabelFrame} message LabelFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @instance + * @returns {Object.} JSON object + */ + LabelFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelFrame; + })(); + + v1p1beta1.Entity = (function() { + + /** + * Properties of an Entity. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode + */ + + /** + * Constructs a new Entity. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an Entity. + * @implements IEntity + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IEntity=} [properties] Properties to set + */ + function Entity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @instance + */ + Entity.prototype.entityId = ""; + + /** + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @instance + */ + Entity.prototype.description = ""; + + /** + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.Entity} Entity instance + */ + Entity.create = function create(properties) { + return new Entity(properties); + }; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.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.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.Entity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Entity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Entity.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.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.Entity} Entity + */ + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.Entity) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p1beta1.Entity} message Entity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Entity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.description = ""; + object.languageCode = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this Entity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @instance + * @returns {Object.} JSON object + */ + Entity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Entity; + })(); + + v1p1beta1.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1p1beta1.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1p1beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.entity = null; + + /** + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p1beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p1beta1.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p1beta1.LabelFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p1beta1.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1p1beta1.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p1beta1.LabelSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p1beta1.LabelFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; + object.frames = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p1beta1.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1p1beta1.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p1beta1.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p1beta1.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1p1beta1.ExplicitContentFrame = (function() { + + /** + * Properties of an ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1p1beta1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + */ + + /** + * Constructs a new ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame=} [properties] Properties to set + */ + function ExplicitContentFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.timeOffset = null; + + /** + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1p1beta1.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.pornographyLikelihood = 0; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} ExplicitContentFrame instance + */ + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); + }; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + return writer; + }; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.pornographyLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} ExplicitContentFrame + */ + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} message ExplicitContentFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + return object; + }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentFrame; + })(); + + v1p1beta1.ExplicitContentAnnotation = (function() { + + /** + * Properties of an ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames + */ + + /** + * Constructs a new ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation=} [properties] Properties to set + */ + function ExplicitContentAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} ExplicitContentAnnotation instance + */ + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); + }; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + */ + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentAnnotation; + })(); + + v1p1beta1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.shotAnnotations = []; + this.speechTranscriptions = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults speechTranscriptions. + * @member {Array.} speechTranscriptions + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.speechTranscriptions != null && message.speechTranscriptions.length) + for (var i = 0; i < message.speechTranscriptions.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 11: + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + if (!Array.isArray(message.shotLabelAnnotations)) + return "shotLabelAnnotations: array expected"; + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify(message.shotLabelAnnotations[i]); + if (error) + return "shotLabelAnnotations." + error; + } + } + if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { + if (!Array.isArray(message.frameLabelAnnotations)) + return "frameLabelAnnotations: array expected"; + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify(message.frameLabelAnnotations[i]); + if (error) + return "frameLabelAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + error; + } + if (message.speechTranscriptions != null && message.hasOwnProperty("speechTranscriptions")) { + if (!Array.isArray(message.speechTranscriptions)) + return "speechTranscriptions: array expected"; + for (var i = 0; i < message.speechTranscriptions.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify(message.speechTranscriptions[i]); + if (error) + return "speechTranscriptions." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.segmentLabelAnnotations) { + if (!Array.isArray(object.segmentLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.segmentLabelAnnotations: array expected"); + message.segmentLabelAnnotations = []; + for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) { + if (typeof object.segmentLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.segmentLabelAnnotations: object expected"); + message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); + } + } + if (object.shotLabelAnnotations) { + if (!Array.isArray(object.shotLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.shotLabelAnnotations: array expected"); + message.shotLabelAnnotations = []; + for (var i = 0; i < object.shotLabelAnnotations.length; ++i) { + if (typeof object.shotLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.shotLabelAnnotations: object expected"); + message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); + } + } + if (object.frameLabelAnnotations) { + if (!Array.isArray(object.frameLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.frameLabelAnnotations: array expected"); + message.frameLabelAnnotations = []; + for (var i = 0; i < object.frameLabelAnnotations.length; ++i) { + if (typeof object.frameLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.frameLabelAnnotations: object expected"); + message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.speechTranscriptions) { + if (!Array.isArray(object.speechTranscriptions)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.speechTranscriptions: array expected"); + message.speechTranscriptions = []; + for (var i = 0; i < object.speechTranscriptions.length; ++i) { + if (typeof object.speechTranscriptions[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.speechTranscriptions: object expected"); + message.speechTranscriptions[i] = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.fromObject(object.speechTranscriptions[i]); + } + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.segmentLabelAnnotations = []; + object.shotLabelAnnotations = []; + object.frameLabelAnnotations = []; + object.shotAnnotations = []; + object.speechTranscriptions = []; + } + if (options.defaults) { + object.inputUri = ""; + object.explicitAnnotation = null; + object.error = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) { + object.segmentLabelAnnotations = []; + for (var j = 0; j < message.segmentLabelAnnotations.length; ++j) + object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options); + } + if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) { + object.shotLabelAnnotations = []; + for (var j = 0; j < message.shotLabelAnnotations.length; ++j) + object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options); + } + if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) { + object.frameLabelAnnotations = []; + for (var j = 0; j < message.frameLabelAnnotations.length; ++j) + object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.toObject(message.frameLabelAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.speechTranscriptions && message.speechTranscriptions.length) { + object.speechTranscriptions = []; + for (var j = 0; j < message.speechTranscriptions.length; ++j) + object.speechTranscriptions[j] = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.toObject(message.speechTranscriptions[j], options); + } + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1p1beta1.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1p1beta1.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1p1beta1.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + v1p1beta1.SpeechTranscriptionConfig = (function() { + + /** + * Properties of a SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ISpeechTranscriptionConfig + * @property {string|null} [languageCode] SpeechTranscriptionConfig languageCode + * @property {number|null} [maxAlternatives] SpeechTranscriptionConfig maxAlternatives + * @property {boolean|null} [filterProfanity] SpeechTranscriptionConfig filterProfanity + * @property {Array.|null} [speechContexts] SpeechTranscriptionConfig speechContexts + * @property {boolean|null} [enableAutomaticPunctuation] SpeechTranscriptionConfig enableAutomaticPunctuation + * @property {Array.|null} [audioTracks] SpeechTranscriptionConfig audioTracks + */ + + /** + * Constructs a new SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a SpeechTranscriptionConfig. + * @implements ISpeechTranscriptionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig=} [properties] Properties to set + */ + function SpeechTranscriptionConfig(properties) { + this.speechContexts = []; + this.audioTracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscriptionConfig languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.languageCode = ""; + + /** + * SpeechTranscriptionConfig maxAlternatives. + * @member {number} maxAlternatives + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.maxAlternatives = 0; + + /** + * SpeechTranscriptionConfig filterProfanity. + * @member {boolean} filterProfanity + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.filterProfanity = false; + + /** + * SpeechTranscriptionConfig speechContexts. + * @member {Array.} speechContexts + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.speechContexts = $util.emptyArray; + + /** + * SpeechTranscriptionConfig enableAutomaticPunctuation. + * @member {boolean} enableAutomaticPunctuation + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableAutomaticPunctuation = false; + + /** + * SpeechTranscriptionConfig audioTracks. + * @member {Array.} audioTracks + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.audioTracks = $util.emptyArray; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig instance + */ + SpeechTranscriptionConfig.create = function create(properties) { + return new SpeechTranscriptionConfig(properties); + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); + if (message.speechContexts != null && message.speechContexts.length) + for (var i = 0; i < message.speechContexts.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); + if (message.audioTracks != null && message.audioTracks.length) { + writer.uint32(/* id 6, wireType 2 =*/50).fork(); + for (var i = 0; i < message.audioTracks.length; ++i) + writer.int32(message.audioTracks[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.maxAlternatives = reader.int32(); + break; + case 3: + message.filterProfanity = reader.bool(); + break; + case 4: + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1p1beta1.SpeechContext.decode(reader, reader.uint32())); + break; + case 5: + message.enableAutomaticPunctuation = reader.bool(); + break; + case 6: + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else + message.audioTracks.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (!$util.isInteger(message.maxAlternatives)) + return "maxAlternatives: integer expected"; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (typeof message.filterProfanity !== "boolean") + return "filterProfanity: boolean expected"; + if (message.speechContexts != null && message.hasOwnProperty("speechContexts")) { + if (!Array.isArray(message.speechContexts)) + return "speechContexts: array expected"; + for (var i = 0; i < message.speechContexts.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.SpeechContext.verify(message.speechContexts[i]); + if (error) + return "speechContexts." + error; + } + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (typeof message.enableAutomaticPunctuation !== "boolean") + return "enableAutomaticPunctuation: boolean expected"; + if (message.audioTracks != null && message.hasOwnProperty("audioTracks")) { + if (!Array.isArray(message.audioTracks)) + return "audioTracks: array expected"; + for (var i = 0; i < message.audioTracks.length; ++i) + if (!$util.isInteger(message.audioTracks[i])) + return "audioTracks: integer[] expected"; + } + return null; + }; + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + */ + SpeechTranscriptionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.maxAlternatives != null) + message.maxAlternatives = object.maxAlternatives | 0; + if (object.filterProfanity != null) + message.filterProfanity = Boolean(object.filterProfanity); + if (object.speechContexts) { + if (!Array.isArray(object.speechContexts)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.speechContexts: array expected"); + message.speechContexts = []; + for (var i = 0; i < object.speechContexts.length; ++i) { + if (typeof object.speechContexts[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.speechContexts: object expected"); + message.speechContexts[i] = $root.google.cloud.videointelligence.v1p1beta1.SpeechContext.fromObject(object.speechContexts[i]); + } + } + if (object.enableAutomaticPunctuation != null) + message.enableAutomaticPunctuation = Boolean(object.enableAutomaticPunctuation); + if (object.audioTracks) { + if (!Array.isArray(object.audioTracks)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.audioTracks: array expected"); + message.audioTracks = []; + for (var i = 0; i < object.audioTracks.length; ++i) + message.audioTracks[i] = object.audioTracks[i] | 0; + } + return message; + }; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} message SpeechTranscriptionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscriptionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.speechContexts = []; + object.audioTracks = []; + } + if (options.defaults) { + object.languageCode = ""; + object.maxAlternatives = 0; + object.filterProfanity = false; + object.enableAutomaticPunctuation = false; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + object.maxAlternatives = message.maxAlternatives; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + object.filterProfanity = message.filterProfanity; + if (message.speechContexts && message.speechContexts.length) { + object.speechContexts = []; + for (var j = 0; j < message.speechContexts.length; ++j) + object.speechContexts[j] = $root.google.cloud.videointelligence.v1p1beta1.SpeechContext.toObject(message.speechContexts[j], options); + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + object.enableAutomaticPunctuation = message.enableAutomaticPunctuation; + if (message.audioTracks && message.audioTracks.length) { + object.audioTracks = []; + for (var j = 0; j < message.audioTracks.length; ++j) + object.audioTracks[j] = message.audioTracks[j]; + } + return object; + }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscriptionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscriptionConfig; + })(); + + v1p1beta1.SpeechContext = (function() { + + /** + * Properties of a SpeechContext. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ISpeechContext + * @property {Array.|null} [phrases] SpeechContext phrases + */ + + /** + * Constructs a new SpeechContext. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a SpeechContext. + * @implements ISpeechContext + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechContext=} [properties] Properties to set + */ + function SpeechContext(properties) { + this.phrases = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechContext phrases. + * @member {Array.} phrases + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @instance + */ + SpeechContext.prototype.phrases = $util.emptyArray; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechContext} SpeechContext instance + */ + SpeechContext.create = function create(properties) { + return new SpeechContext(properties); + }; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.phrases != null && message.phrases.length) + for (var i = 0; i < message.phrases.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.phrases[i]); + return writer; + }; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.phrases != null && message.hasOwnProperty("phrases")) { + if (!Array.isArray(message.phrases)) + return "phrases: array expected"; + for (var i = 0; i < message.phrases.length; ++i) + if (!$util.isString(message.phrases[i])) + return "phrases: string[] expected"; + } + return null; + }; + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechContext} SpeechContext + */ + SpeechContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.SpeechContext) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechContext(); + if (object.phrases) { + if (!Array.isArray(object.phrases)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechContext.phrases: array expected"); + message.phrases = []; + for (var i = 0; i < object.phrases.length; ++i) + message.phrases[i] = String(object.phrases[i]); + } + return message; + }; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p1beta1.SpeechContext} message SpeechContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.phrases = []; + if (message.phrases && message.phrases.length) { + object.phrases = []; + for (var j = 0; j < message.phrases.length; ++j) + object.phrases[j] = message.phrases[j]; + } + return object; + }; + + /** + * Converts this SpeechContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @instance + * @returns {Object.} JSON object + */ + SpeechContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechContext; + })(); + + v1p1beta1.SpeechTranscription = (function() { + + /** + * Properties of a SpeechTranscription. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ISpeechTranscription + * @property {Array.|null} [alternatives] SpeechTranscription alternatives + */ + + /** + * Constructs a new SpeechTranscription. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a SpeechTranscription. + * @implements ISpeechTranscription + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscription=} [properties] Properties to set + */ + function SpeechTranscription(properties) { + this.alternatives = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscription alternatives. + * @member {Array.} alternatives + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @instance + */ + SpeechTranscription.prototype.alternatives = $util.emptyArray; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscription=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscription} SpeechTranscription instance + */ + SpeechTranscription.create = function create(properties) { + return new SpeechTranscription(properties); + }; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.alternatives != null && message.alternatives.length) + for (var i = 0; i < message.alternatives.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscription message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscription.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.alternatives != null && message.hasOwnProperty("alternatives")) { + if (!Array.isArray(message.alternatives)) + return "alternatives: array expected"; + for (var i = 0; i < message.alternatives.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify(message.alternatives[i]); + if (error) + return "alternatives." + error; + } + } + return null; + }; + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechTranscription} SpeechTranscription + */ + SpeechTranscription.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription(); + if (object.alternatives) { + if (!Array.isArray(object.alternatives)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechTranscription.alternatives: array expected"); + message.alternatives = []; + for (var i = 0; i < object.alternatives.length; ++i) { + if (typeof object.alternatives[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechTranscription.alternatives: object expected"); + message.alternatives[i] = $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.fromObject(object.alternatives[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p1beta1.SpeechTranscription} message SpeechTranscription + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscription.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.alternatives = []; + if (message.alternatives && message.alternatives.length) { + object.alternatives = []; + for (var j = 0; j < message.alternatives.length; ++j) + object.alternatives[j] = $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.toObject(message.alternatives[j], options); + } + return object; + }; + + /** + * Converts this SpeechTranscription to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscription.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscription; + })(); + + v1p1beta1.SpeechRecognitionAlternative = (function() { + + /** + * Properties of a SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface ISpeechRecognitionAlternative + * @property {string|null} [transcript] SpeechRecognitionAlternative transcript + * @property {number|null} [confidence] SpeechRecognitionAlternative confidence + * @property {Array.|null} [words] SpeechRecognitionAlternative words + */ + + /** + * Constructs a new SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a SpeechRecognitionAlternative. + * @implements ISpeechRecognitionAlternative + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative=} [properties] Properties to set + */ + function SpeechRecognitionAlternative(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]]; + } + + /** + * SpeechRecognitionAlternative transcript. + * @member {string} transcript + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.transcript = ""; + + /** + * SpeechRecognitionAlternative confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.confidence = 0; + + /** + * SpeechRecognitionAlternative words. + * @member {Array.} words + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.words = $util.emptyArray; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative instance + */ + SpeechRecognitionAlternative.create = function create(properties) { + return new SpeechRecognitionAlternative(properties); + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transcript != null && message.hasOwnProperty("transcript")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.videointelligence.v1p1beta1.WordInfo.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.transcript = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1p1beta1.WordInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechRecognitionAlternative.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transcript != null && message.hasOwnProperty("transcript")) + if (!$util.isString(message.transcript)) + return "transcript: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + 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.videointelligence.v1p1beta1.WordInfo.verify(message.words[i]); + if (error) + return "words." + error; + } + } + return null; + }; + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + */ + SpeechRecognitionAlternative.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative(); + if (object.transcript != null) + message.transcript = String(object.transcript); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.words: object expected"); + message.words[i] = $root.google.cloud.videointelligence.v1p1beta1.WordInfo.fromObject(object.words[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} message SpeechRecognitionAlternative + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechRecognitionAlternative.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.transcript = ""; + object.confidence = 0; + } + if (message.transcript != null && message.hasOwnProperty("transcript")) + object.transcript = message.transcript; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.videointelligence.v1p1beta1.WordInfo.toObject(message.words[j], options); + } + return object; + }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @instance + * @returns {Object.} JSON object + */ + SpeechRecognitionAlternative.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechRecognitionAlternative; + })(); + + v1p1beta1.WordInfo = (function() { + + /** + * Properties of a WordInfo. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @interface IWordInfo + * @property {google.protobuf.IDuration|null} [startTime] WordInfo startTime + * @property {google.protobuf.IDuration|null} [endTime] WordInfo endTime + * @property {string|null} [word] WordInfo word + */ + + /** + * Constructs a new WordInfo. + * @memberof google.cloud.videointelligence.v1p1beta1 + * @classdesc Represents a WordInfo. + * @implements IWordInfo + * @constructor + * @param {google.cloud.videointelligence.v1p1beta1.IWordInfo=} [properties] Properties to set + */ + function WordInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WordInfo startTime. + * @member {google.protobuf.IDuration|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @instance + */ + WordInfo.prototype.startTime = null; + + /** + * WordInfo endTime. + * @member {google.protobuf.IDuration|null|undefined} endTime + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @instance + */ + WordInfo.prototype.endTime = null; + + /** + * WordInfo word. + * @member {string} word + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @instance + */ + WordInfo.prototype.word = ""; + + /** + * Creates a new WordInfo instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IWordInfo=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p1beta1.WordInfo} WordInfo instance + */ + WordInfo.create = function create(properties) { + return new WordInfo(properties); + }; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.word != null && message.hasOwnProperty("word")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); + return writer; + }; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p1beta1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p1beta1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p1beta1.WordInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 3: + message.word = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p1beta1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WordInfo message. + * @function verify + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WordInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Duration.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Duration.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.word != null && message.hasOwnProperty("word")) + if (!$util.isString(message.word)) + return "word: string expected"; + return null; + }; + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p1beta1.WordInfo} WordInfo + */ + WordInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p1beta1.WordInfo) + return object; + var message = new $root.google.cloud.videointelligence.v1p1beta1.WordInfo(); + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.WordInfo.startTime: object expected"); + message.startTime = $root.google.protobuf.Duration.fromObject(object.startTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p1beta1.WordInfo.endTime: object expected"); + message.endTime = $root.google.protobuf.Duration.fromObject(object.endTime); + } + if (object.word != null) + message.word = String(object.word); + return message; + }; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p1beta1.WordInfo} message WordInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WordInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTime = null; + object.endTime = null; + object.word = ""; + } + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Duration.toObject(message.startTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Duration.toObject(message.endTime, options); + if (message.word != null && message.hasOwnProperty("word")) + object.word = message.word; + return object; + }; + + /** + * Converts this WordInfo to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @instance + * @returns {Object.} JSON object + */ + WordInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WordInfo; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1p1beta1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value + */ + v1p1beta1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1p1beta1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1p1beta1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1p1beta1.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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 v1p1beta1; + })(); + + videointelligence.v1p2beta1 = (function() { + + /** + * Namespace v1p2beta1. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1p2beta1 = {}; + + v1p2beta1.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1p2beta1.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1p2beta1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1p2beta1.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1p2beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.bytes(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 7: + case 9: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.features[i] = 3; + break; + case "TEXT_DETECTION": + case 7: + message.features[i] = 7; + break; + case "OBJECT_TRACKING": + case 9: + message.features[i] = 9; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + if (options.bytes === String) + object.inputContent = ""; + else { + object.inputContent = []; + if (options.bytes !== Array) + object.inputContent = $util.newBuffer(object.inputContent); + } + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1p2beta1.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig + * @property {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionConfig. + * @member {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionConfig = null; + + /** + * VideoContext shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionConfig = null; + + /** + * VideoContext explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + */ + VideoContext.prototype.explicitContentDetectionConfig = null; + + /** + * VideoContext textDetectionConfig. + * @member {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null|undefined} textDetectionConfig + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + */ + VideoContext.prototype.textDetectionConfig = null; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 8: + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify(message.textDetectionConfig); + if (error) + return "textDetectionConfig." + error; + } + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.textDetectionConfig != null) { + if (typeof object.textDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoContext.textDetectionConfig: object expected"); + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.fromObject(object.textDetectionConfig); + } + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionConfig = null; + object.shotChangeDetectionConfig = null; + object.explicitContentDetectionConfig = null; + object.textDetectionConfig = null; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + object.textDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.toObject(message.textDetectionConfig, options); + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1p2beta1.LabelDetectionConfig = (function() { + + /** + * Properties of a LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ILabelDetectionConfig + * @property {google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode + * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera + * @property {string|null} [model] LabelDetectionConfig model + */ + + /** + * Constructs a new LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a LabelDetectionConfig. + * @implements ILabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig=} [properties] Properties to set + */ + function LabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDetectionConfig labelDetectionMode. + * @member {google.cloud.videointelligence.v1p2beta1.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.labelDetectionMode = 0; + + /** + * LabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * LabelDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.model = ""; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} LabelDetectionConfig instance + */ + LabelDetectionConfig.create = function create(properties) { + return new LabelDetectionConfig(properties); + }; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.labelDetectionMode = reader.int32(); + break; + case 2: + message.stationaryCamera = reader.bool(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} LabelDetectionConfig + */ + LabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig(); + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} message LabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.model = ""; + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + LabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelDetectionConfig; + })(); + + v1p2beta1.ShotChangeDetectionConfig = (function() { + + /** + * Properties of a ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IShotChangeDetectionConfig + * @property {string|null} [model] ShotChangeDetectionConfig model + */ + + /** + * Constructs a new ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a ShotChangeDetectionConfig. + * @implements IShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig=} [properties] Properties to set + */ + function ShotChangeDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShotChangeDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @instance + */ + ShotChangeDetectionConfig.prototype.model = ""; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance + */ + ShotChangeDetectionConfig.create = function create(properties) { + return new ShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + */ + ShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} message ShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShotChangeDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShotChangeDetectionConfig; + })(); + + v1p2beta1.ExplicitContentDetectionConfig = (function() { + + /** + * Properties of an ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model + */ + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + */ + function ExplicitContentDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @instance + */ + ExplicitContentDetectionConfig.prototype.model = ""; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + */ + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + */ + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentDetectionConfig; + })(); + + v1p2beta1.TextDetectionConfig = (function() { + + /** + * Properties of a TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ITextDetectionConfig + * @property {Array.|null} [languageHints] TextDetectionConfig languageHints + */ + + /** + * Constructs a new TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a TextDetectionConfig. + * @implements ITextDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig=} [properties] Properties to set + */ + function TextDetectionConfig(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]]; + } + + /** + * TextDetectionConfig languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @instance + */ + TextDetectionConfig.prototype.languageHints = $util.emptyArray; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} TextDetectionConfig instance + */ + TextDetectionConfig.create = function create(properties) { + return new TextDetectionConfig(properties); + }; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); + return writer; + }; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + 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"; + } + return null; + }; + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} TextDetectionConfig + */ + TextDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig(); + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + return message; + }; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} message TextDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + return object; + }; + + /** + * Converts this TextDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + TextDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionConfig; + })(); + + v1p2beta1.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = null; + + /** + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = null; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); + if (error) + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; + } + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); + } + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTimeOffset = null; + object.endTimeOffset = null; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1p2beta1.LabelSegment = (function() { + + /** + * Properties of a LabelSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence + */ + + /** + * Constructs a new LabelSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ILabelSegment=} [properties] Properties to set + */ + function LabelSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.segment = null; + + /** + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.confidence = 0; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.LabelSegment} LabelSegment instance + */ + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); + }; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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 LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.LabelSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.LabelSegment} LabelSegment + */ + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.LabelSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.LabelSegment} message LabelSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @instance + * @returns {Object.} JSON object + */ + LabelSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelSegment; + })(); + + v1p2beta1.LabelFrame = (function() { + + /** + * Properties of a LabelFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence + */ + + /** + * Constructs a new LabelFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ILabelFrame=} [properties] Properties to set + */ + function LabelFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.timeOffset = null; + + /** + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.confidence = 0; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.LabelFrame} LabelFrame instance + */ + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); + }; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.LabelFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.LabelFrame} LabelFrame + */ + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.LabelFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.LabelFrame} message LabelFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @instance + * @returns {Object.} JSON object + */ + LabelFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelFrame; + })(); + + v1p2beta1.Entity = (function() { + + /** + * Properties of an Entity. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode + */ + + /** + * Constructs a new Entity. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an Entity. + * @implements IEntity + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IEntity=} [properties] Properties to set + */ + function Entity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @instance + */ + Entity.prototype.entityId = ""; + + /** + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @instance + */ + Entity.prototype.description = ""; + + /** + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.Entity} Entity instance + */ + Entity.create = function create(properties) { + return new Entity(properties); + }; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.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.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.Entity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Entity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Entity.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.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.Entity} Entity + */ + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.Entity) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p2beta1.Entity} message Entity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Entity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.description = ""; + object.languageCode = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this Entity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @instance + * @returns {Object.} JSON object + */ + Entity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Entity; + })(); + + v1p2beta1.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1p2beta1.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1p2beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.entity = null; + + /** + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p2beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.LabelFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1p2beta1.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p2beta1.LabelSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p2beta1.LabelFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; + object.frames = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1p2beta1.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p2beta1.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p2beta1.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1p2beta1.ExplicitContentFrame = (function() { + + /** + * Properties of an ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1p2beta1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + */ + + /** + * Constructs a new ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame=} [properties] Properties to set + */ + function ExplicitContentFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.timeOffset = null; + + /** + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1p2beta1.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.pornographyLikelihood = 0; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} ExplicitContentFrame instance + */ + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); + }; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + return writer; + }; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.pornographyLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} ExplicitContentFrame + */ + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} message ExplicitContentFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + return object; + }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentFrame; + })(); + + v1p2beta1.ExplicitContentAnnotation = (function() { + + /** + * Properties of an ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames + */ + + /** + * Constructs a new ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation=} [properties] Properties to set + */ + function ExplicitContentAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} ExplicitContentAnnotation instance + */ + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); + }; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + */ + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentAnnotation; + })(); + + v1p2beta1.NormalizedBoundingBox = (function() { + + /** + * Properties of a NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface INormalizedBoundingBox + * @property {number|null} [left] NormalizedBoundingBox left + * @property {number|null} [top] NormalizedBoundingBox top + * @property {number|null} [right] NormalizedBoundingBox right + * @property {number|null} [bottom] NormalizedBoundingBox bottom + */ + + /** + * Constructs a new NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a NormalizedBoundingBox. + * @implements INormalizedBoundingBox + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox=} [properties] Properties to set + */ + function NormalizedBoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.left = 0; + + /** + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.top = 0; + + /** + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.right = 0; + + /** + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.bottom = 0; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} NormalizedBoundingBox instance + */ + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); + }; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.float(); + break; + case 2: + message.top = reader.float(); + break; + case 3: + message.right = reader.float(); + break; + case 4: + message.bottom = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; + return null; + }; + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} NormalizedBoundingBox + */ + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + return object; + }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingBox; + })(); + + v1p2beta1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations + * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.shotAnnotations = []; + this.textAnnotations = []; + 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]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 12: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.decode(reader, reader.uint32())); + break; + case 14: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + if (!Array.isArray(message.shotLabelAnnotations)) + return "shotLabelAnnotations: array expected"; + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify(message.shotLabelAnnotations[i]); + if (error) + return "shotLabelAnnotations." + error; + } + } + if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { + if (!Array.isArray(message.frameLabelAnnotations)) + return "frameLabelAnnotations: array expected"; + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify(message.frameLabelAnnotations[i]); + if (error) + return "frameLabelAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + 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.videointelligence.v1p2beta1.TextAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + 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.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.segmentLabelAnnotations) { + if (!Array.isArray(object.segmentLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.segmentLabelAnnotations: array expected"); + message.segmentLabelAnnotations = []; + for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) { + if (typeof object.segmentLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.segmentLabelAnnotations: object expected"); + message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); + } + } + if (object.shotLabelAnnotations) { + if (!Array.isArray(object.shotLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shotLabelAnnotations: array expected"); + message.shotLabelAnnotations = []; + for (var i = 0; i < object.shotLabelAnnotations.length; ++i) { + if (typeof object.shotLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shotLabelAnnotations: object expected"); + message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); + } + } + if (object.frameLabelAnnotations) { + if (!Array.isArray(object.frameLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.frameLabelAnnotations: array expected"); + message.frameLabelAnnotations = []; + for (var i = 0; i < object.frameLabelAnnotations.length; ++i) { + if (typeof object.frameLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.frameLabelAnnotations: object expected"); + message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); + } + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.segmentLabelAnnotations = []; + object.shotLabelAnnotations = []; + object.frameLabelAnnotations = []; + object.shotAnnotations = []; + object.textAnnotations = []; + object.objectAnnotations = []; + } + if (options.defaults) { + object.inputUri = ""; + object.explicitAnnotation = null; + object.error = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) { + object.segmentLabelAnnotations = []; + for (var j = 0; j < message.segmentLabelAnnotations.length; ++j) + object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options); + } + if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) { + object.shotLabelAnnotations = []; + for (var j = 0; j < message.shotLabelAnnotations.length; ++j) + object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options); + } + if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) { + object.frameLabelAnnotations = []; + for (var j = 0; j < message.frameLabelAnnotations.length; ++j) + object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.toObject(message.frameLabelAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.toObject(message.textAnnotations[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.videointelligence.v1p2beta1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1p2beta1.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1p2beta1.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1p2beta1.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + v1p2beta1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1p2beta1.NormalizedBoundingPoly = (function() { + + /** + * Properties of a NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface INormalizedBoundingPoly + * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices + */ + + /** + * Constructs a new NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a NormalizedBoundingPoly. + * @implements INormalizedBoundingPoly + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @instance + */ + NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance + */ + NormalizedBoundingPoly.create = function create(properties) { + return new NormalizedBoundingPoly(properties); + }; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + */ + NormalizedBoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1p2beta1.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.videointelligence.v1p2beta1.NormalizedVertex.toObject(message.vertices[j], options); + } + return object; + }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingPoly; + })(); + + v1p2beta1.TextSegment = (function() { + + /** + * Properties of a TextSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ITextSegment + * @property {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null} [segment] TextSegment segment + * @property {number|null} [confidence] TextSegment confidence + * @property {Array.|null} [frames] TextSegment frames + */ + + /** + * Constructs a new TextSegment. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a TextSegment. + * @implements ITextSegment + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ITextSegment=} [properties] Properties to set + */ + function TextSegment(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextSegment segment. + * @member {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @instance + */ + TextSegment.prototype.segment = null; + + /** + * TextSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @instance + */ + TextSegment.prototype.confidence = 0; + + /** + * TextSegment frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @instance + */ + TextSegment.prototype.frames = $util.emptyArray; + + /** + * Creates a new TextSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.TextSegment} TextSegment instance + */ + TextSegment.create = function create(properties) { + return new TextSegment(properties); + }; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.TextFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.TextSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.TextFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.TextFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.TextSegment} TextSegment + */ + TextSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.TextSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.TextSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextSegment.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextSegment.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p2beta1.TextFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p2beta1.TextSegment} message TextSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p2beta1.TextFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this TextSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @instance + * @returns {Object.} JSON object + */ + TextSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextSegment; + })(); + + v1p2beta1.TextFrame = (function() { + + /** + * Properties of a TextFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ITextFrame + * @property {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null} [rotatedBoundingBox] TextFrame rotatedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TextFrame timeOffset + */ + + /** + * Constructs a new TextFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a TextFrame. + * @implements ITextFrame + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ITextFrame=} [properties] Properties to set + */ + function TextFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextFrame rotatedBoundingBox. + * @member {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null|undefined} rotatedBoundingBox + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @instance + */ + TextFrame.prototype.rotatedBoundingBox = null; + + /** + * TextFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @instance + */ + TextFrame.prototype.timeOffset = null; + + /** + * Creates a new TextFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.TextFrame} TextFrame instance + */ + TextFrame.create = function create(properties) { + return new TextFrame(properties); + }; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.TextFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.verify(message.rotatedBoundingBox); + if (error) + return "rotatedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.TextFrame} TextFrame + */ + TextFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.TextFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.TextFrame(); + if (object.rotatedBoundingBox != null) { + if (typeof object.rotatedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextFrame.rotatedBoundingBox: object expected"); + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.fromObject(object.rotatedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.TextFrame} message TextFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.rotatedBoundingBox = null; + object.timeOffset = null; + } + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + object.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.toObject(message.rotatedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this TextFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @instance + * @returns {Object.} JSON object + */ + TextFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextFrame; + })(); + + v1p2beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface ITextAnnotation + * @property {string|null} [text] TextAnnotation text + * @property {Array.|null} [segments] TextAnnotation segments + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.segments = []; + if (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 text. + * @member {string} text + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * TextAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.segments = $util.emptyArray; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.TextSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p2beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.text = reader.string(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.TextSegment.decode(reader, reader.uint32())); + 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.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.TextSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.TextAnnotation(); + if (object.text != null) + message.text = String(object.text); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.TextAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p2beta1.TextSegment.fromObject(object.segments[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.segments = []; + if (options.defaults) + object.text = ""; + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p2beta1.TextSegment.toObject(message.segments[j], options); + } + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextAnnotation; + })(); + + v1p2beta1.ObjectTrackingFrame = (function() { + + /** + * Properties of an ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IObjectTrackingFrame + * @property {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null} [normalizedBoundingBox] ObjectTrackingFrame normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] ObjectTrackingFrame timeOffset + */ + + /** + * Constructs a new ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an ObjectTrackingFrame. + * @implements IObjectTrackingFrame + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame=} [properties] Properties to set + */ + function ObjectTrackingFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingFrame normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.normalizedBoundingBox = null; + + /** + * ObjectTrackingFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.timeOffset = null; + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} ObjectTrackingFrame instance + */ + ObjectTrackingFrame.create = function create(properties) { + return new ObjectTrackingFrame(properties); + }; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates an ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} ObjectTrackingFrame + */ + ObjectTrackingFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} message ObjectTrackingFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingFrame; + })(); + + v1p2beta1.ObjectTrackingAnnotation = (function() { + + /** + * Properties of an ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @interface IObjectTrackingAnnotation + * @property {google.cloud.videointelligence.v1p2beta1.IEntity|null} [entity] ObjectTrackingAnnotation entity + * @property {number|null} [confidence] ObjectTrackingAnnotation confidence + * @property {Array.|null} [frames] ObjectTrackingAnnotation frames + * @property {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment + */ + + /** + * Constructs a new ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1p2beta1 + * @classdesc Represents an ObjectTrackingAnnotation. + * @implements IObjectTrackingAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation=} [properties] Properties to set + */ + function ObjectTrackingAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingAnnotation entity. + * @member {google.cloud.videointelligence.v1p2beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.entity = null; + + /** + * ObjectTrackingAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.confidence = 0; + + /** + * ObjectTrackingAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + + /** + * ObjectTrackingAnnotation segment. + * @member {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.segment = null; + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation instance + */ + ObjectTrackingAnnotation.create = function create(properties) { + return new ObjectTrackingAnnotation(properties); + }; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p2beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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 ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); + break; + case 4: + message.confidence = reader.float(); + break; + case 2: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + case 3: + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + return null; + }; + + /** + * Creates an ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + */ + ObjectTrackingAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.fromObject(object.entity); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.fromObject(object.frames[i]); + } + } + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segment); + } + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} message ObjectTrackingAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.entity = null; + object.segment = null; + object.confidence = 0; + } + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.toObject(message.entity, options); + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.toObject(message.frames[j], options); + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingAnnotation; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1p2beta1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value + * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + */ + v1p2beta1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[7] = "TEXT_DETECTION"] = 7; + values[valuesById[9] = "OBJECT_TRACKING"] = 9; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1p2beta1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1p2beta1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1p2beta1.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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 v1p2beta1; + })(); + + videointelligence.v1p3beta1 = (function() { + + /** + * Namespace v1p3beta1. + * @memberof google.cloud.videointelligence + * @namespace + */ + var v1p3beta1 = {}; + + v1p3beta1.VideoIntelligenceService = (function() { + + /** + * Constructs a new VideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoIntelligenceService + * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; + + /** + * Creates new VideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService + * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService#annotateVideo}. + * @memberof google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService + * @typedef AnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { + return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AnnotateVideo" }); + + /** + * Calls AnnotateVideo. + * @function annotateVideo + * @memberof google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return VideoIntelligenceService; + })(); + + v1p3beta1.StreamingVideoIntelligenceService = (function() { + + /** + * Constructs a new StreamingVideoIntelligenceService service. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingVideoIntelligenceService + * @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 StreamingVideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (StreamingVideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = StreamingVideoIntelligenceService; + + /** + * Creates new StreamingVideoIntelligenceService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService + * @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 {StreamingVideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. + */ + StreamingVideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService#streamingAnnotateVideo}. + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService + * @typedef StreamingAnnotateVideoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} [response] StreamingAnnotateVideoResponse + */ + + /** + * Calls StreamingAnnotateVideo. + * @function streamingAnnotateVideo + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest} request StreamingAnnotateVideoRequest message or plain object + * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideoCallback} callback Node-style callback called with the error, if any, and StreamingAnnotateVideoResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(StreamingVideoIntelligenceService.prototype.streamingAnnotateVideo = function streamingAnnotateVideo(request, callback) { + return this.rpcCall(streamingAnnotateVideo, $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest, $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse, request, callback); + }, "name", { value: "StreamingAnnotateVideo" }); + + /** + * Calls StreamingAnnotateVideo. + * @function streamingAnnotateVideo + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService + * @instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest} request StreamingAnnotateVideoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return StreamingVideoIntelligenceService; + })(); + + v1p3beta1.AnnotateVideoRequest = (function() { + + /** + * Properties of an AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IAnnotateVideoRequest + * @property {string|null} [inputUri] AnnotateVideoRequest inputUri + * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent + * @property {Array.|null} [features] AnnotateVideoRequest features + * @property {google.cloud.videointelligence.v1p3beta1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext + * @property {string|null} [outputUri] AnnotateVideoRequest outputUri + * @property {string|null} [locationId] AnnotateVideoRequest locationId + */ + + /** + * Constructs a new AnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an AnnotateVideoRequest. + * @implements IAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest=} [properties] Properties to set + */ + function AnnotateVideoRequest(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]]; + } + + /** + * AnnotateVideoRequest inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputUri = ""; + + /** + * AnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + /** + * AnnotateVideoRequest features. + * @member {Array.} features + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateVideoRequest videoContext. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoContext|null|undefined} videoContext + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.videoContext = null; + + /** + * AnnotateVideoRequest outputUri. + * @member {string} outputUri + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.outputUri = ""; + + /** + * AnnotateVideoRequest locationId. + * @member {string} locationId + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + */ + AnnotateVideoRequest.prototype.locationId = ""; + + /** + * Creates a new AnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest} AnnotateVideoRequest instance + */ + AnnotateVideoRequest.create = function create(properties) { + return new AnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.features != null && message.features.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.features.length; ++i) + writer.int32(message.features[i]); + writer.ldelim(); + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + $root.google.cloud.videointelligence.v1p3beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); + if (message.locationId != null && message.hasOwnProperty("locationId")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 6: + message.inputContent = reader.bytes(); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else + message.features.push(reader.int32()); + break; + case 3: + message.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputUri = reader.string(); + break; + case 5: + message.locationId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest} AnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + 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) + switch (message.features[i]) { + default: + return "features: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 6: + case 7: + case 9: + case 12: + break; + } + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.verify(message.videoContext); + if (error) + return "videoContext." + error; + } + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (!$util.isString(message.outputUri)) + return "outputUri: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isString(message.locationId)) + return "locationId: string expected"; + return null; + }; + + /** + * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest} AnnotateVideoRequest + */ + AnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) + switch (object.features[i]) { + default: + case "FEATURE_UNSPECIFIED": + case 0: + message.features[i] = 0; + break; + case "LABEL_DETECTION": + case 1: + message.features[i] = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.features[i] = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.features[i] = 3; + break; + case "SPEECH_TRANSCRIPTION": + case 6: + message.features[i] = 6; + break; + case "TEXT_DETECTION": + case 7: + message.features[i] = 7; + break; + case "OBJECT_TRACKING": + case 9: + message.features[i] = 9; + break; + case "LOGO_RECOGNITION": + case 12: + message.features[i] = 12; + break; + } + } + if (object.videoContext != null) { + if (typeof object.videoContext !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.videoContext: object expected"); + message.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.fromObject(object.videoContext); + } + if (object.outputUri != null) + message.outputUri = String(object.outputUri); + if (object.locationId != null) + message.locationId = String(object.locationId); + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest} message AnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputUri = ""; + object.videoContext = null; + object.outputUri = ""; + object.locationId = ""; + if (options.bytes === String) + object.inputContent = ""; + else { + object.inputContent = []; + if (options.bytes !== Array) + object.inputContent = $util.newBuffer(object.inputContent); + } + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.features[j]] : message.features[j]; + } + if (message.videoContext != null && message.hasOwnProperty("videoContext")) + object.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.toObject(message.videoContext, options); + if (message.outputUri != null && message.hasOwnProperty("outputUri")) + object.outputUri = message.outputUri; + if (message.locationId != null && message.hasOwnProperty("locationId")) + object.locationId = message.locationId; + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + return object; + }; + + /** + * Converts this AnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoRequest; + })(); + + v1p3beta1.VideoContext = (function() { + + /** + * Properties of a VideoContext. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IVideoContext + * @property {Array.|null} [segments] VideoContext segments + * @property {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig + * @property {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null} [objectTrackingConfig] VideoContext objectTrackingConfig + */ + + /** + * Constructs a new VideoContext. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoContext. + * @implements IVideoContext + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IVideoContext=} [properties] Properties to set + */ + function VideoContext(properties) { + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoContext segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.segments = $util.emptyArray; + + /** + * VideoContext labelDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.labelDetectionConfig = null; + + /** + * VideoContext shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.shotChangeDetectionConfig = null; + + /** + * VideoContext explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.explicitContentDetectionConfig = null; + + /** + * VideoContext speechTranscriptionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null|undefined} speechTranscriptionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.speechTranscriptionConfig = null; + + /** + * VideoContext textDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null|undefined} textDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.textDetectionConfig = null; + + /** + * VideoContext objectTrackingConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null|undefined} objectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.objectTrackingConfig = null; + + /** + * Creates a new VideoContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoContext} VideoContext instance + */ + VideoContext.create = function create(properties) { + return new VideoContext(properties); + }; + + /** + * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoContext} message VideoContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 6: + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + case 8: + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + case 13: + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.VideoContext} VideoContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify(message.speechTranscriptionConfig); + if (error) + return "speechTranscriptionConfig." + error; + } + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify(message.textDetectionConfig); + if (error) + return "textDetectionConfig." + error; + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify(message.objectTrackingConfig); + if (error) + return "objectTrackingConfig." + error; + } + return null; + }; + + /** + * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.VideoContext} VideoContext + */ + VideoContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoContext) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoContext(); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segments[i]); + } + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.speechTranscriptionConfig != null) { + if (typeof object.speechTranscriptionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.speechTranscriptionConfig: object expected"); + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.fromObject(object.speechTranscriptionConfig); + } + if (object.textDetectionConfig != null) { + if (typeof object.textDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.textDetectionConfig: object expected"); + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.fromObject(object.textDetectionConfig); + } + if (object.objectTrackingConfig != null) { + if (typeof object.objectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.objectTrackingConfig: object expected"); + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.fromObject(object.objectTrackingConfig); + } + return message; + }; + + /** + * Creates a plain object from a VideoContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} message VideoContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.segments = []; + if (options.defaults) { + object.labelDetectionConfig = null; + object.shotChangeDetectionConfig = null; + object.explicitContentDetectionConfig = null; + object.speechTranscriptionConfig = null; + object.textDetectionConfig = null; + object.objectTrackingConfig = null; + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segments[j], options); + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options); + if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + object.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.toObject(message.textDetectionConfig, options); + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + object.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.toObject(message.objectTrackingConfig, options); + return object; + }; + + /** + * Converts this VideoContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + * @returns {Object.} JSON object + */ + VideoContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoContext; + })(); + + v1p3beta1.LabelDetectionConfig = (function() { + + /** + * Properties of a LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ILabelDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode + * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera + * @property {string|null} [model] LabelDetectionConfig model + * @property {number|null} [frameConfidenceThreshold] LabelDetectionConfig frameConfidenceThreshold + * @property {number|null} [videoConfidenceThreshold] LabelDetectionConfig videoConfidenceThreshold + */ + + /** + * Constructs a new LabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a LabelDetectionConfig. + * @implements ILabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig=} [properties] Properties to set + */ + function LabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDetectionConfig labelDetectionMode. + * @member {google.cloud.videointelligence.v1p3beta1.LabelDetectionMode} labelDetectionMode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.labelDetectionMode = 0; + + /** + * LabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * LabelDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.model = ""; + + /** + * LabelDetectionConfig frameConfidenceThreshold. + * @member {number} frameConfidenceThreshold + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.frameConfidenceThreshold = 0; + + /** + * LabelDetectionConfig videoConfidenceThreshold. + * @member {number} videoConfidenceThreshold + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + */ + LabelDetectionConfig.prototype.videoConfidenceThreshold = 0; + + /** + * Creates a new LabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} LabelDetectionConfig instance + */ + LabelDetectionConfig.create = function create(properties) { + return new LabelDetectionConfig(properties); + }; + + /** + * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.frameConfidenceThreshold); + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.videoConfidenceThreshold); + return writer; + }; + + /** + * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.labelDetectionMode = reader.int32(); + break; + case 2: + message.stationaryCamera = reader.bool(); + break; + case 3: + message.model = reader.string(); + break; + case 4: + message.frameConfidenceThreshold = reader.float(); + break; + case 5: + message.videoConfidenceThreshold = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} LabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + switch (message.labelDetectionMode) { + default: + return "labelDetectionMode: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + if (typeof message.frameConfidenceThreshold !== "number") + return "frameConfidenceThreshold: number expected"; + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + if (typeof message.videoConfidenceThreshold !== "number") + return "videoConfidenceThreshold: number expected"; + return null; + }; + + /** + * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} LabelDetectionConfig + */ + LabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig(); + switch (object.labelDetectionMode) { + case "LABEL_DETECTION_MODE_UNSPECIFIED": + case 0: + message.labelDetectionMode = 0; + break; + case "SHOT_MODE": + case 1: + message.labelDetectionMode = 1; + break; + case "FRAME_MODE": + case 2: + message.labelDetectionMode = 2; + break; + case "SHOT_AND_FRAME_MODE": + case 3: + message.labelDetectionMode = 3; + break; + } + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + if (object.model != null) + message.model = String(object.model); + if (object.frameConfidenceThreshold != null) + message.frameConfidenceThreshold = Number(object.frameConfidenceThreshold); + if (object.videoConfidenceThreshold != null) + message.videoConfidenceThreshold = Number(object.videoConfidenceThreshold); + return message; + }; + + /** + * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} message LabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; + object.stationaryCamera = false; + object.model = ""; + object.frameConfidenceThreshold = 0; + object.videoConfidenceThreshold = 0; + } + if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + object.frameConfidenceThreshold = options.json && !isFinite(message.frameConfidenceThreshold) ? String(message.frameConfidenceThreshold) : message.frameConfidenceThreshold; + if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + object.videoConfidenceThreshold = options.json && !isFinite(message.videoConfidenceThreshold) ? String(message.videoConfidenceThreshold) : message.videoConfidenceThreshold; + return object; + }; + + /** + * Converts this LabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + LabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelDetectionConfig; + })(); + + v1p3beta1.ShotChangeDetectionConfig = (function() { + + /** + * Properties of a ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IShotChangeDetectionConfig + * @property {string|null} [model] ShotChangeDetectionConfig model + */ + + /** + * Constructs a new ShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a ShotChangeDetectionConfig. + * @implements IShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig=} [properties] Properties to set + */ + function ShotChangeDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShotChangeDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @instance + */ + ShotChangeDetectionConfig.prototype.model = ""; + + /** + * Creates a new ShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance + */ + ShotChangeDetectionConfig.create = function create(properties) { + return new ShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} ShotChangeDetectionConfig + */ + ShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} message ShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShotChangeDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ShotChangeDetectionConfig; + })(); + + v1p3beta1.ObjectTrackingConfig = (function() { + + /** + * Properties of an ObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IObjectTrackingConfig + * @property {string|null} [model] ObjectTrackingConfig model + */ + + /** + * Constructs a new ObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ObjectTrackingConfig. + * @implements IObjectTrackingConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig=} [properties] Properties to set + */ + function ObjectTrackingConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @instance + */ + ObjectTrackingConfig.prototype.model = ""; + + /** + * Creates a new ObjectTrackingConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} ObjectTrackingConfig instance + */ + ObjectTrackingConfig.create = function create(properties) { + return new ObjectTrackingConfig(properties); + }; + + /** + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} ObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} ObjectTrackingConfig + */ + ObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} message ObjectTrackingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ObjectTrackingConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingConfig; + })(); + + v1p3beta1.ExplicitContentDetectionConfig = (function() { + + /** + * Properties of an ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model + */ + + /** + * Constructs a new ExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + */ + function ExplicitContentDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @instance + */ + ExplicitContentDetectionConfig.prototype.model = ""; + + /** + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + */ + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + return writer; + }; + + /** + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + */ + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig(); + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.model = ""; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this ExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentDetectionConfig; + })(); + + v1p3beta1.TextDetectionConfig = (function() { + + /** + * Properties of a TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITextDetectionConfig + * @property {Array.|null} [languageHints] TextDetectionConfig languageHints + * @property {string|null} [model] TextDetectionConfig model + */ + + /** + * Constructs a new TextDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a TextDetectionConfig. + * @implements ITextDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set + */ + function TextDetectionConfig(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]]; + } + + /** + * TextDetectionConfig languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @instance + */ + TextDetectionConfig.prototype.languageHints = $util.emptyArray; + + /** + * TextDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @instance + */ + TextDetectionConfig.prototype.model = ""; + + /** + * Creates a new TextDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig instance + */ + TextDetectionConfig.create = function create(properties) { + return new TextDetectionConfig(properties); + }; + + /** + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); + return writer; + }; + + /** + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 2: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + 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.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + */ + TextDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} message TextDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) + object.model = ""; + 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.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this TextDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + TextDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionConfig; + })(); + + v1p3beta1.VideoSegment = (function() { + + /** + * Properties of a VideoSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + */ + + /** + * Constructs a new VideoSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set + */ + function VideoSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.startTimeOffset = null; + + /** + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @instance + */ + VideoSegment.prototype.endTimeOffset = null; + + /** + * Creates a new VideoSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment instance + */ + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); + }; + + /** + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); + if (error) + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; + } + return null; + }; + + /** + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + */ + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); + } + return message; + }; + + /** + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.VideoSegment} message VideoSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTimeOffset = null; + object.endTimeOffset = null; + } + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + return object; + }; + + /** + * Converts this VideoSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @instance + * @returns {Object.} JSON object + */ + VideoSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoSegment; + })(); + + v1p3beta1.LabelSegment = (function() { + + /** + * Properties of a LabelSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence + */ + + /** + * Constructs a new LabelSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set + */ + function LabelSegment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.segment = null; + + /** + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @instance + */ + LabelSegment.prototype.confidence = 0; + + /** + * Creates a new LabelSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment instance + */ + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); + }; + + /** + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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 LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + */ + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.LabelSegment} message LabelSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @instance + * @returns {Object.} JSON object + */ + LabelSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelSegment; + })(); + + v1p3beta1.LabelFrame = (function() { + + /** + * Properties of a LabelFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence + */ + + /** + * Constructs a new LabelFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set + */ + function LabelFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.timeOffset = null; + + /** + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @instance + */ + LabelFrame.prototype.confidence = 0; + + /** + * Creates a new LabelFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame instance + */ + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); + }; + + /** + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + */ + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.LabelFrame} message LabelFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this LabelFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @instance + * @returns {Object.} JSON object + */ + LabelFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelFrame; + })(); + + v1p3beta1.Entity = (function() { + + /** + * Properties of an Entity. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode + */ + + /** + * Constructs a new Entity. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an Entity. + * @implements IEntity + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set + */ + function Entity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @instance + */ + Entity.prototype.entityId = ""; + + /** + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @instance + */ + Entity.prototype.description = ""; + + /** + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity instance + */ + Entity.create = function create(properties) { + return new Entity(properties); + }; + + /** + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.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.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Entity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Entity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Entity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Entity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Entity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Entity.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.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + */ + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Entity) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from an Entity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.Entity} message Entity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Entity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.description = ""; + object.languageCode = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this Entity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @instance + * @returns {Object.} JSON object + */ + Entity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Entity; + })(); + + v1p3beta1.LabelAnnotation = (function() { + + /** + * Properties of a LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames + */ + + /** + * Constructs a new LabelAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set + */ + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.entity = null; + + /** + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation instance + */ + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); + }; + + /** + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.LabelFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + */ + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.fromObject(object.segments[i]); + } + } + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} message LabelAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; + object.frames = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + * @returns {Object.} JSON object + */ + LabelAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LabelAnnotation; + })(); + + v1p3beta1.ExplicitContentFrame = (function() { + + /** + * Properties of an ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1p3beta1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + */ + + /** + * Constructs a new ExplicitContentFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set + */ + function ExplicitContentFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.timeOffset = null; + + /** + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1p3beta1.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @instance + */ + ExplicitContentFrame.prototype.pornographyLikelihood = 0; + + /** + * Creates a new ExplicitContentFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame instance + */ + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); + }; + + /** + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + return writer; + }; + + /** + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.pornographyLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + */ + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} message ExplicitContentFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + return object; + }; + + /** + * Converts this ExplicitContentFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentFrame; + })(); + + v1p3beta1.ExplicitContentAnnotation = (function() { + + /** + * Properties of an ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames + */ + + /** + * Constructs a new ExplicitContentAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set + */ + function ExplicitContentAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new ExplicitContentAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation instance + */ + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); + }; + + /** + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExplicitContentAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExplicitContentAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + */ + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExplicitContentAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this ExplicitContentAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @instance + * @returns {Object.} JSON object + */ + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExplicitContentAnnotation; + })(); + + v1p3beta1.NormalizedBoundingBox = (function() { + + /** + * Properties of a NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface INormalizedBoundingBox + * @property {number|null} [left] NormalizedBoundingBox left + * @property {number|null} [top] NormalizedBoundingBox top + * @property {number|null} [right] NormalizedBoundingBox right + * @property {number|null} [bottom] NormalizedBoundingBox bottom + */ + + /** + * Constructs a new NormalizedBoundingBox. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a NormalizedBoundingBox. + * @implements INormalizedBoundingBox + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set + */ + function NormalizedBoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.left = 0; + + /** + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.top = 0; + + /** + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.right = 0; + + /** + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.bottom = 0; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox instance + */ + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); + }; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.float(); + break; + case 2: + message.top = reader.float(); + break; + case 3: + message.right = reader.float(); + break; + case 4: + message.bottom = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; + return null; + }; + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + */ + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + return object; + }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingBox; + })(); + + v1p3beta1.TimestampedObject = (function() { + + /** + * Properties of a TimestampedObject. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITimestampedObject + * @property {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null} [normalizedBoundingBox] TimestampedObject normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TimestampedObject timeOffset + * @property {Array.|null} [attributes] TimestampedObject attributes + */ + + /** + * Constructs a new TimestampedObject. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a TimestampedObject. + * @implements ITimestampedObject + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set + */ + function TimestampedObject(properties) { + this.attributes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TimestampedObject normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @instance + */ + TimestampedObject.prototype.normalizedBoundingBox = null; + + /** + * TimestampedObject timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @instance + */ + TimestampedObject.prototype.timeOffset = null; + + /** + * TimestampedObject attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @instance + */ + TimestampedObject.prototype.attributes = $util.emptyArray; + + /** + * Creates a new TimestampedObject instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject instance + */ + TimestampedObject.create = function create(properties) { + return new TimestampedObject(properties); + }; + + /** + * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimestampedObject.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimestampedObject.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimestampedObject.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimestampedObject.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TimestampedObject message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimestampedObject.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + error; + } + } + return null; + }; + + /** + * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + */ + TimestampedObject.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {google.cloud.videointelligence.v1p3beta1.TimestampedObject} message TimestampedObject + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TimestampedObject.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.attributes = []; + if (options.defaults) { + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[j], options); + } + return object; + }; + + /** + * Converts this TimestampedObject to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @instance + * @returns {Object.} JSON object + */ + TimestampedObject.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TimestampedObject; + })(); + + v1p3beta1.Track = (function() { + + /** + * Properties of a Track. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITrack + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] Track segment + * @property {Array.|null} [timestampedObjects] Track timestampedObjects + * @property {Array.|null} [attributes] Track attributes + * @property {number|null} [confidence] Track confidence + */ + + /** + * Constructs a new Track. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a Track. + * @implements ITrack + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set + */ + function Track(properties) { + this.timestampedObjects = []; + this.attributes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Track segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + */ + Track.prototype.segment = null; + + /** + * Track timestampedObjects. + * @member {Array.} timestampedObjects + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + */ + Track.prototype.timestampedObjects = $util.emptyArray; + + /** + * Track attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + */ + Track.prototype.attributes = $util.emptyArray; + + /** + * Track confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + */ + Track.prototype.confidence = 0; + + /** + * Creates a new Track instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track instance + */ + Track.create = function create(properties) { + return new Track(properties); + }; + + /** + * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Track.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timestampedObjects != null && message.timestampedObjects.length) + for (var i = 0; i < message.timestampedObjects.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.encode(message.timestampedObjects[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[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 Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Track.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Track message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Track.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Track(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.timestampedObjects && message.timestampedObjects.length)) + message.timestampedObjects = []; + message.timestampedObjects.push($root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Track message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Track.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Track message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Track.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.timestampedObjects != null && message.hasOwnProperty("timestampedObjects")) { + if (!Array.isArray(message.timestampedObjects)) + return "timestampedObjects: array expected"; + for (var i = 0; i < message.timestampedObjects.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify(message.timestampedObjects[i]); + if (error) + return "timestampedObjects." + error; + } + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Track message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + */ + Track.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Track) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.Track(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.timestampedObjects) { + if (!Array.isArray(object.timestampedObjects)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: array expected"); + message.timestampedObjects = []; + for (var i = 0; i < object.timestampedObjects.length; ++i) { + if (typeof object.timestampedObjects[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: object expected"); + message.timestampedObjects[i] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.fromObject(object.timestampedObjects[i]); + } + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Track message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {google.cloud.videointelligence.v1p3beta1.Track} message Track + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Track.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.timestampedObjects = []; + object.attributes = []; + } + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (message.timestampedObjects && message.timestampedObjects.length) { + object.timestampedObjects = []; + for (var j = 0; j < message.timestampedObjects.length; ++j) + object.timestampedObjects[j] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.toObject(message.timestampedObjects[j], options); + } + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[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 Track to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + * @returns {Object.} JSON object + */ + Track.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Track; + })(); + + v1p3beta1.DetectedAttribute = (function() { + + /** + * Properties of a DetectedAttribute. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IDetectedAttribute + * @property {string|null} [name] DetectedAttribute name + * @property {number|null} [confidence] DetectedAttribute confidence + * @property {string|null} [value] DetectedAttribute value + */ + + /** + * Constructs a new DetectedAttribute. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a DetectedAttribute. + * @implements IDetectedAttribute + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set + */ + function DetectedAttribute(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DetectedAttribute name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.name = ""; + + /** + * DetectedAttribute confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.confidence = 0; + + /** + * DetectedAttribute value. + * @member {string} value + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.value = ""; + + /** + * Creates a new DetectedAttribute instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute instance + */ + DetectedAttribute.create = function create(properties) { + return new DetectedAttribute(properties); + }; + + /** + * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedAttribute.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.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); + return writer; + }; + + /** + * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedAttribute.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedAttribute.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedAttribute.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedAttribute message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedAttribute.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.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + */ + DetectedAttribute.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); + if (object.name != null) + message.name = String(object.name); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} message DetectedAttribute + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedAttribute.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.confidence = 0; + object.value = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this DetectedAttribute to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @instance + * @returns {Object.} JSON object + */ + DetectedAttribute.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedAttribute; + })(); + + v1p3beta1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions + * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations + * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations + * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.shotAnnotations = []; + this.speechTranscriptions = []; + this.textAnnotations = []; + this.objectAnnotations = []; + this.logoRecognitionAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults speechTranscriptions. + * @member {Array.} speechTranscriptions + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + + /** + * VideoAnnotationResults textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults logoRecognitionAnnotations. + * @member {Array.} logoRecognitionAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.speechTranscriptions != null && message.speechTranscriptions.length) + for (var i = 0; i < message.speechTranscriptions.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) + for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 11: + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.decode(reader, reader.uint32())); + break; + case 12: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.decode(reader, reader.uint32())); + break; + case 14: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + case 19: + if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) + message.logoRecognitionAnnotations = []; + message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + if (!Array.isArray(message.shotLabelAnnotations)) + return "shotLabelAnnotations: array expected"; + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.shotLabelAnnotations[i]); + if (error) + return "shotLabelAnnotations." + error; + } + } + if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { + if (!Array.isArray(message.frameLabelAnnotations)) + return "frameLabelAnnotations: array expected"; + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.frameLabelAnnotations[i]); + if (error) + return "frameLabelAnnotations." + error; + } + } + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + error; + } + if (message.speechTranscriptions != null && message.hasOwnProperty("speechTranscriptions")) { + if (!Array.isArray(message.speechTranscriptions)) + return "speechTranscriptions: array expected"; + for (var i = 0; i < message.speechTranscriptions.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify(message.speechTranscriptions[i]); + if (error) + return "speechTranscriptions." + 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.videointelligence.v1p3beta1.TextAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + 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.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } + } + if (message.logoRecognitionAnnotations != null && message.hasOwnProperty("logoRecognitionAnnotations")) { + if (!Array.isArray(message.logoRecognitionAnnotations)) + return "logoRecognitionAnnotations: array expected"; + for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify(message.logoRecognitionAnnotations[i]); + if (error) + return "logoRecognitionAnnotations." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + */ + VideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.segmentLabelAnnotations) { + if (!Array.isArray(object.segmentLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segmentLabelAnnotations: array expected"); + message.segmentLabelAnnotations = []; + for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) { + if (typeof object.segmentLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segmentLabelAnnotations: object expected"); + message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); + } + } + if (object.shotLabelAnnotations) { + if (!Array.isArray(object.shotLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotLabelAnnotations: array expected"); + message.shotLabelAnnotations = []; + for (var i = 0; i < object.shotLabelAnnotations.length; ++i) { + if (typeof object.shotLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotLabelAnnotations: object expected"); + message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); + } + } + if (object.frameLabelAnnotations) { + if (!Array.isArray(object.frameLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.frameLabelAnnotations: array expected"); + message.frameLabelAnnotations = []; + for (var i = 0; i < object.frameLabelAnnotations.length; ++i) { + if (typeof object.frameLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.frameLabelAnnotations: object expected"); + message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); + } + } + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.speechTranscriptions) { + if (!Array.isArray(object.speechTranscriptions)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.speechTranscriptions: array expected"); + message.speechTranscriptions = []; + for (var i = 0; i < object.speechTranscriptions.length; ++i) { + if (typeof object.speechTranscriptions[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.speechTranscriptions: object expected"); + message.speechTranscriptions[i] = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.fromObject(object.speechTranscriptions[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); + } + } + if (object.logoRecognitionAnnotations) { + if (!Array.isArray(object.logoRecognitionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.logoRecognitionAnnotations: array expected"); + message.logoRecognitionAnnotations = []; + for (var i = 0; i < object.logoRecognitionAnnotations.length; ++i) { + if (typeof object.logoRecognitionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.logoRecognitionAnnotations: object expected"); + message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]); + } + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} message VideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.segmentLabelAnnotations = []; + object.shotLabelAnnotations = []; + object.frameLabelAnnotations = []; + object.shotAnnotations = []; + object.speechTranscriptions = []; + object.textAnnotations = []; + object.objectAnnotations = []; + object.logoRecognitionAnnotations = []; + } + if (options.defaults) { + object.inputUri = ""; + object.explicitAnnotation = null; + object.error = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) { + object.segmentLabelAnnotations = []; + for (var j = 0; j < message.segmentLabelAnnotations.length; ++j) + object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options); + } + if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) { + object.shotLabelAnnotations = []; + for (var j = 0; j < message.shotLabelAnnotations.length; ++j) + object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options); + } + if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) { + object.frameLabelAnnotations = []; + for (var j = 0; j < message.frameLabelAnnotations.length; ++j) + object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.frameLabelAnnotations[j], options); + } + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.shotAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.speechTranscriptions && message.speechTranscriptions.length) { + object.speechTranscriptions = []; + for (var j = 0; j < message.speechTranscriptions.length; ++j) + object.speechTranscriptions[j] = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.toObject(message.speechTranscriptions[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.videointelligence.v1p3beta1.TextAnnotation.toObject(message.textAnnotations[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.videointelligence.v1p3beta1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); + } + if (message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length) { + object.logoRecognitionAnnotations = []; + for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j) + object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options); + } + return object; + }; + + /** + * Converts this VideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationResults; + })(); + + v1p3beta1.AnnotateVideoResponse = (function() { + + /** + * Properties of an AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IAnnotateVideoResponse + * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults + */ + + /** + * Constructs a new AnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an AnnotateVideoResponse. + * @implements IAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse=} [properties] Properties to set + */ + function AnnotateVideoResponse(properties) { + this.annotationResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoResponse annotationResults. + * @member {Array.} annotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @instance + */ + AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; + + /** + * Creates a new AnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse} AnnotateVideoResponse instance + */ + AnnotateVideoResponse.create = function create(properties) { + return new AnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationResults != null && message.annotationResults.length) + for (var i = 0; i < message.annotationResults.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse} AnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + if (!Array.isArray(message.annotationResults)) + return "annotationResults: array expected"; + for (var i = 0; i < message.annotationResults.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify(message.annotationResults[i]); + if (error) + return "annotationResults." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse} AnnotateVideoResponse + */ + AnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse(); + if (object.annotationResults) { + if (!Array.isArray(object.annotationResults)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.annotationResults: array expected"); + message.annotationResults = []; + for (var i = 0; i < object.annotationResults.length; ++i) { + if (typeof object.annotationResults[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.fromObject(object.annotationResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse} message AnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationResults = []; + if (message.annotationResults && message.annotationResults.length) { + object.annotationResults = []; + for (var j = 0; j < message.annotationResults.length; ++j) + object.annotationResults[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.toObject(message.annotationResults[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoResponse; + })(); + + v1p3beta1.VideoAnnotationProgress = (function() { + + /** + * Properties of a VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IVideoAnnotationProgress + * @property {string|null} [inputUri] VideoAnnotationProgress inputUri + * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent + * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime + * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + */ + + /** + * Constructs a new VideoAnnotationProgress. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoAnnotationProgress. + * @implements IVideoAnnotationProgress + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress=} [properties] Properties to set + */ + function VideoAnnotationProgress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationProgress inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.inputUri = ""; + + /** + * VideoAnnotationProgress progressPercent. + * @member {number} progressPercent + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.progressPercent = 0; + + /** + * VideoAnnotationProgress startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.startTime = null; + + /** + * VideoAnnotationProgress updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.updateTime = null; + + /** + * Creates a new VideoAnnotationProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} VideoAnnotationProgress instance + */ + VideoAnnotationProgress.create = function create(properties) { + return new VideoAnnotationProgress(properties); + }; + + /** + * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 2: + message.progressPercent = reader.int32(); + break; + case 3: + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} VideoAnnotationProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (!$util.isInteger(message.progressPercent)) + return "progressPercent: integer expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} VideoAnnotationProgress + */ + VideoAnnotationProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress(); + if (object.inputUri != null) + message.inputUri = String(object.inputUri); + if (object.progressPercent != null) + message.progressPercent = object.progressPercent | 0; + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} message VideoAnnotationProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VideoAnnotationProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.inputUri = ""; + object.progressPercent = 0; + object.startTime = null; + object.updateTime = null; + } + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + object.inputUri = message.inputUri; + if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + object.progressPercent = message.progressPercent; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this VideoAnnotationProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + * @returns {Object.} JSON object + */ + VideoAnnotationProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VideoAnnotationProgress; + })(); + + v1p3beta1.AnnotateVideoProgress = (function() { + + /** + * Properties of an AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IAnnotateVideoProgress + * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress + */ + + /** + * Constructs a new AnnotateVideoProgress. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an AnnotateVideoProgress. + * @implements IAnnotateVideoProgress + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress=} [properties] Properties to set + */ + function AnnotateVideoProgress(properties) { + this.annotationProgress = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateVideoProgress annotationProgress. + * @member {Array.} annotationProgress + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @instance + */ + AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; + + /** + * Creates a new AnnotateVideoProgress instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress} AnnotateVideoProgress instance + */ + AnnotateVideoProgress.create = function create(properties) { + return new AnnotateVideoProgress(properties); + }; + + /** + * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotationProgress != null && message.annotationProgress.length) + for (var i = 0; i < message.annotationProgress.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress} AnnotateVideoProgress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateVideoProgress message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateVideoProgress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { + if (!Array.isArray(message.annotationProgress)) + return "annotationProgress: array expected"; + for (var i = 0; i < message.annotationProgress.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify(message.annotationProgress[i]); + if (error) + return "annotationProgress." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress} AnnotateVideoProgress + */ + AnnotateVideoProgress.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress(); + if (object.annotationProgress) { + if (!Array.isArray(object.annotationProgress)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.annotationProgress: array expected"); + message.annotationProgress = []; + for (var i = 0; i < object.annotationProgress.length; ++i) { + if (typeof object.annotationProgress[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.annotationProgress: object expected"); + message.annotationProgress[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress} message AnnotateVideoProgress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateVideoProgress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotationProgress = []; + if (message.annotationProgress && message.annotationProgress.length) { + object.annotationProgress = []; + for (var j = 0; j < message.annotationProgress.length; ++j) + object.annotationProgress[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); + } + return object; + }; + + /** + * Converts this AnnotateVideoProgress to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @instance + * @returns {Object.} JSON object + */ + AnnotateVideoProgress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateVideoProgress; + })(); + + v1p3beta1.SpeechTranscriptionConfig = (function() { + + /** + * Properties of a SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ISpeechTranscriptionConfig + * @property {string|null} [languageCode] SpeechTranscriptionConfig languageCode + * @property {number|null} [maxAlternatives] SpeechTranscriptionConfig maxAlternatives + * @property {boolean|null} [filterProfanity] SpeechTranscriptionConfig filterProfanity + * @property {Array.|null} [speechContexts] SpeechTranscriptionConfig speechContexts + * @property {boolean|null} [enableAutomaticPunctuation] SpeechTranscriptionConfig enableAutomaticPunctuation + * @property {Array.|null} [audioTracks] SpeechTranscriptionConfig audioTracks + * @property {boolean|null} [enableSpeakerDiarization] SpeechTranscriptionConfig enableSpeakerDiarization + * @property {number|null} [diarizationSpeakerCount] SpeechTranscriptionConfig diarizationSpeakerCount + * @property {boolean|null} [enableWordConfidence] SpeechTranscriptionConfig enableWordConfidence + */ + + /** + * Constructs a new SpeechTranscriptionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a SpeechTranscriptionConfig. + * @implements ISpeechTranscriptionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig=} [properties] Properties to set + */ + function SpeechTranscriptionConfig(properties) { + this.speechContexts = []; + this.audioTracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscriptionConfig languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.languageCode = ""; + + /** + * SpeechTranscriptionConfig maxAlternatives. + * @member {number} maxAlternatives + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.maxAlternatives = 0; + + /** + * SpeechTranscriptionConfig filterProfanity. + * @member {boolean} filterProfanity + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.filterProfanity = false; + + /** + * SpeechTranscriptionConfig speechContexts. + * @member {Array.} speechContexts + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.speechContexts = $util.emptyArray; + + /** + * SpeechTranscriptionConfig enableAutomaticPunctuation. + * @member {boolean} enableAutomaticPunctuation + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableAutomaticPunctuation = false; + + /** + * SpeechTranscriptionConfig audioTracks. + * @member {Array.} audioTracks + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.audioTracks = $util.emptyArray; + + /** + * SpeechTranscriptionConfig enableSpeakerDiarization. + * @member {boolean} enableSpeakerDiarization + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableSpeakerDiarization = false; + + /** + * SpeechTranscriptionConfig diarizationSpeakerCount. + * @member {number} diarizationSpeakerCount + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.diarizationSpeakerCount = 0; + + /** + * SpeechTranscriptionConfig enableWordConfidence. + * @member {boolean} enableWordConfidence + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + */ + SpeechTranscriptionConfig.prototype.enableWordConfidence = false; + + /** + * Creates a new SpeechTranscriptionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig instance + */ + SpeechTranscriptionConfig.create = function create(properties) { + return new SpeechTranscriptionConfig(properties); + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); + if (message.speechContexts != null && message.speechContexts.length) + for (var i = 0; i < message.speechContexts.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); + if (message.audioTracks != null && message.audioTracks.length) { + writer.uint32(/* id 6, wireType 2 =*/50).fork(); + for (var i = 0; i < message.audioTracks.length; ++i) + writer.int32(message.audioTracks[i]); + writer.ldelim(); + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.enableSpeakerDiarization); + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.diarizationSpeakerCount); + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableWordConfidence); + return writer; + }; + + /** + * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscriptionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.maxAlternatives = reader.int32(); + break; + case 3: + message.filterProfanity = reader.bool(); + break; + case 4: + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1p3beta1.SpeechContext.decode(reader, reader.uint32())); + break; + case 5: + message.enableAutomaticPunctuation = reader.bool(); + break; + case 6: + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else + message.audioTracks.push(reader.int32()); + break; + case 7: + message.enableSpeakerDiarization = reader.bool(); + break; + case 8: + message.diarizationSpeakerCount = reader.int32(); + break; + case 9: + message.enableWordConfidence = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscriptionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscriptionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (!$util.isInteger(message.maxAlternatives)) + return "maxAlternatives: integer expected"; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (typeof message.filterProfanity !== "boolean") + return "filterProfanity: boolean expected"; + if (message.speechContexts != null && message.hasOwnProperty("speechContexts")) { + if (!Array.isArray(message.speechContexts)) + return "speechContexts: array expected"; + for (var i = 0; i < message.speechContexts.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.SpeechContext.verify(message.speechContexts[i]); + if (error) + return "speechContexts." + error; + } + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (typeof message.enableAutomaticPunctuation !== "boolean") + return "enableAutomaticPunctuation: boolean expected"; + if (message.audioTracks != null && message.hasOwnProperty("audioTracks")) { + if (!Array.isArray(message.audioTracks)) + return "audioTracks: array expected"; + for (var i = 0; i < message.audioTracks.length; ++i) + if (!$util.isInteger(message.audioTracks[i])) + return "audioTracks: integer[] expected"; + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + if (typeof message.enableSpeakerDiarization !== "boolean") + return "enableSpeakerDiarization: boolean expected"; + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + if (!$util.isInteger(message.diarizationSpeakerCount)) + return "diarizationSpeakerCount: integer expected"; + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + if (typeof message.enableWordConfidence !== "boolean") + return "enableWordConfidence: boolean expected"; + return null; + }; + + /** + * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} SpeechTranscriptionConfig + */ + SpeechTranscriptionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.maxAlternatives != null) + message.maxAlternatives = object.maxAlternatives | 0; + if (object.filterProfanity != null) + message.filterProfanity = Boolean(object.filterProfanity); + if (object.speechContexts) { + if (!Array.isArray(object.speechContexts)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.speechContexts: array expected"); + message.speechContexts = []; + for (var i = 0; i < object.speechContexts.length; ++i) { + if (typeof object.speechContexts[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.speechContexts: object expected"); + message.speechContexts[i] = $root.google.cloud.videointelligence.v1p3beta1.SpeechContext.fromObject(object.speechContexts[i]); + } + } + if (object.enableAutomaticPunctuation != null) + message.enableAutomaticPunctuation = Boolean(object.enableAutomaticPunctuation); + if (object.audioTracks) { + if (!Array.isArray(object.audioTracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.audioTracks: array expected"); + message.audioTracks = []; + for (var i = 0; i < object.audioTracks.length; ++i) + message.audioTracks[i] = object.audioTracks[i] | 0; + } + if (object.enableSpeakerDiarization != null) + message.enableSpeakerDiarization = Boolean(object.enableSpeakerDiarization); + if (object.diarizationSpeakerCount != null) + message.diarizationSpeakerCount = object.diarizationSpeakerCount | 0; + if (object.enableWordConfidence != null) + message.enableWordConfidence = Boolean(object.enableWordConfidence); + return message; + }; + + /** + * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} message SpeechTranscriptionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscriptionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.speechContexts = []; + object.audioTracks = []; + } + if (options.defaults) { + object.languageCode = ""; + object.maxAlternatives = 0; + object.filterProfanity = false; + object.enableAutomaticPunctuation = false; + object.enableSpeakerDiarization = false; + object.diarizationSpeakerCount = 0; + object.enableWordConfidence = false; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + object.maxAlternatives = message.maxAlternatives; + if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + object.filterProfanity = message.filterProfanity; + if (message.speechContexts && message.speechContexts.length) { + object.speechContexts = []; + for (var j = 0; j < message.speechContexts.length; ++j) + object.speechContexts[j] = $root.google.cloud.videointelligence.v1p3beta1.SpeechContext.toObject(message.speechContexts[j], options); + } + if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + object.enableAutomaticPunctuation = message.enableAutomaticPunctuation; + if (message.audioTracks && message.audioTracks.length) { + object.audioTracks = []; + for (var j = 0; j < message.audioTracks.length; ++j) + object.audioTracks[j] = message.audioTracks[j]; + } + if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + object.enableSpeakerDiarization = message.enableSpeakerDiarization; + if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + object.diarizationSpeakerCount = message.diarizationSpeakerCount; + if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + object.enableWordConfidence = message.enableWordConfidence; + return object; + }; + + /** + * Converts this SpeechTranscriptionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscriptionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscriptionConfig; + })(); + + v1p3beta1.SpeechContext = (function() { + + /** + * Properties of a SpeechContext. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ISpeechContext + * @property {Array.|null} [phrases] SpeechContext phrases + */ + + /** + * Constructs a new SpeechContext. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a SpeechContext. + * @implements ISpeechContext + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechContext=} [properties] Properties to set + */ + function SpeechContext(properties) { + this.phrases = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechContext phrases. + * @member {Array.} phrases + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @instance + */ + SpeechContext.prototype.phrases = $util.emptyArray; + + /** + * Creates a new SpeechContext instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechContext=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechContext} SpeechContext instance + */ + SpeechContext.create = function create(properties) { + return new SpeechContext(properties); + }; + + /** + * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.phrases != null && message.phrases.length) + for (var i = 0; i < message.phrases.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.phrases[i]); + return writer; + }; + + /** + * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechContext} message SpeechContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechContext} SpeechContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechContext message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.phrases != null && message.hasOwnProperty("phrases")) { + if (!Array.isArray(message.phrases)) + return "phrases: array expected"; + for (var i = 0; i < message.phrases.length; ++i) + if (!$util.isString(message.phrases[i])) + return "phrases: string[] expected"; + } + return null; + }; + + /** + * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechContext} SpeechContext + */ + SpeechContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.SpeechContext) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechContext(); + if (object.phrases) { + if (!Array.isArray(object.phrases)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechContext.phrases: array expected"); + message.phrases = []; + for (var i = 0; i < object.phrases.length; ++i) + message.phrases[i] = String(object.phrases[i]); + } + return message; + }; + + /** + * Creates a plain object from a SpeechContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {google.cloud.videointelligence.v1p3beta1.SpeechContext} message SpeechContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.phrases = []; + if (message.phrases && message.phrases.length) { + object.phrases = []; + for (var j = 0; j < message.phrases.length; ++j) + object.phrases[j] = message.phrases[j]; + } + return object; + }; + + /** + * Converts this SpeechContext to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @instance + * @returns {Object.} JSON object + */ + SpeechContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechContext; + })(); + + v1p3beta1.SpeechTranscription = (function() { + + /** + * Properties of a SpeechTranscription. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ISpeechTranscription + * @property {Array.|null} [alternatives] SpeechTranscription alternatives + * @property {string|null} [languageCode] SpeechTranscription languageCode + */ + + /** + * Constructs a new SpeechTranscription. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a SpeechTranscription. + * @implements ISpeechTranscription + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscription=} [properties] Properties to set + */ + function SpeechTranscription(properties) { + this.alternatives = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SpeechTranscription alternatives. + * @member {Array.} alternatives + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @instance + */ + SpeechTranscription.prototype.alternatives = $util.emptyArray; + + /** + * SpeechTranscription languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @instance + */ + SpeechTranscription.prototype.languageCode = ""; + + /** + * Creates a new SpeechTranscription instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscription=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscription} SpeechTranscription instance + */ + SpeechTranscription.create = function create(properties) { + return new SpeechTranscription(properties); + }; + + /** + * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.alternatives != null && message.alternatives.length) + for (var i = 0; i < message.alternatives.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechTranscription} message SpeechTranscription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechTranscription.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscription} SpeechTranscription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechTranscription.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechTranscription message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechTranscription.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.alternatives != null && message.hasOwnProperty("alternatives")) { + if (!Array.isArray(message.alternatives)) + return "alternatives: array expected"; + for (var i = 0; i < message.alternatives.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify(message.alternatives[i]); + if (error) + return "alternatives." + error; + } + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechTranscription} SpeechTranscription + */ + SpeechTranscription.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription(); + if (object.alternatives) { + if (!Array.isArray(object.alternatives)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechTranscription.alternatives: array expected"); + message.alternatives = []; + for (var i = 0; i < object.alternatives.length; ++i) { + if (typeof object.alternatives[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechTranscription.alternatives: object expected"); + message.alternatives[i] = $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.fromObject(object.alternatives[i]); + } + } + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {google.cloud.videointelligence.v1p3beta1.SpeechTranscription} message SpeechTranscription + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechTranscription.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.alternatives = []; + if (options.defaults) + object.languageCode = ""; + if (message.alternatives && message.alternatives.length) { + object.alternatives = []; + for (var j = 0; j < message.alternatives.length; ++j) + object.alternatives[j] = $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.toObject(message.alternatives[j], options); + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this SpeechTranscription to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @instance + * @returns {Object.} JSON object + */ + SpeechTranscription.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechTranscription; + })(); + + v1p3beta1.SpeechRecognitionAlternative = (function() { + + /** + * Properties of a SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ISpeechRecognitionAlternative + * @property {string|null} [transcript] SpeechRecognitionAlternative transcript + * @property {number|null} [confidence] SpeechRecognitionAlternative confidence + * @property {Array.|null} [words] SpeechRecognitionAlternative words + */ + + /** + * Constructs a new SpeechRecognitionAlternative. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a SpeechRecognitionAlternative. + * @implements ISpeechRecognitionAlternative + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative=} [properties] Properties to set + */ + function SpeechRecognitionAlternative(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]]; + } + + /** + * SpeechRecognitionAlternative transcript. + * @member {string} transcript + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.transcript = ""; + + /** + * SpeechRecognitionAlternative confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.confidence = 0; + + /** + * SpeechRecognitionAlternative words. + * @member {Array.} words + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @instance + */ + SpeechRecognitionAlternative.prototype.words = $util.emptyArray; + + /** + * Creates a new SpeechRecognitionAlternative instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative instance + */ + SpeechRecognitionAlternative.create = function create(properties) { + return new SpeechRecognitionAlternative(properties); + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transcript != null && message.hasOwnProperty("transcript")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.WordInfo.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SpeechRecognitionAlternative.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.transcript = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1p3beta1.WordInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SpeechRecognitionAlternative.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SpeechRecognitionAlternative message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SpeechRecognitionAlternative.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transcript != null && message.hasOwnProperty("transcript")) + if (!$util.isString(message.transcript)) + return "transcript: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + 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.videointelligence.v1p3beta1.WordInfo.verify(message.words[i]); + if (error) + return "words." + error; + } + } + return null; + }; + + /** + * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} SpeechRecognitionAlternative + */ + SpeechRecognitionAlternative.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative(); + if (object.transcript != null) + message.transcript = String(object.transcript); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.words: object expected"); + message.words[i] = $root.google.cloud.videointelligence.v1p3beta1.WordInfo.fromObject(object.words[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} message SpeechRecognitionAlternative + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SpeechRecognitionAlternative.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.transcript = ""; + object.confidence = 0; + } + if (message.transcript != null && message.hasOwnProperty("transcript")) + object.transcript = message.transcript; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.videointelligence.v1p3beta1.WordInfo.toObject(message.words[j], options); + } + return object; + }; + + /** + * Converts this SpeechRecognitionAlternative to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @instance + * @returns {Object.} JSON object + */ + SpeechRecognitionAlternative.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SpeechRecognitionAlternative; + })(); + + v1p3beta1.WordInfo = (function() { + + /** + * Properties of a WordInfo. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IWordInfo + * @property {google.protobuf.IDuration|null} [startTime] WordInfo startTime + * @property {google.protobuf.IDuration|null} [endTime] WordInfo endTime + * @property {string|null} [word] WordInfo word + * @property {number|null} [confidence] WordInfo confidence + * @property {number|null} [speakerTag] WordInfo speakerTag + */ + + /** + * Constructs a new WordInfo. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a WordInfo. + * @implements IWordInfo + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IWordInfo=} [properties] Properties to set + */ + function WordInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WordInfo startTime. + * @member {google.protobuf.IDuration|null|undefined} startTime + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + */ + WordInfo.prototype.startTime = null; + + /** + * WordInfo endTime. + * @member {google.protobuf.IDuration|null|undefined} endTime + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + */ + WordInfo.prototype.endTime = null; + + /** + * WordInfo word. + * @member {string} word + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + */ + WordInfo.prototype.word = ""; + + /** + * WordInfo confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + */ + WordInfo.prototype.confidence = 0; + + /** + * WordInfo speakerTag. + * @member {number} speakerTag + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + */ + WordInfo.prototype.speakerTag = 0; + + /** + * Creates a new WordInfo instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IWordInfo=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.WordInfo} WordInfo instance + */ + WordInfo.create = function create(properties) { + return new WordInfo(properties); + }; + + /** + * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTime != null && message.hasOwnProperty("startTime")) + $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.word != null && message.hasOwnProperty("word")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.speakerTag); + return writer; + }; + + /** + * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IWordInfo} message WordInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WordInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.WordInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 3: + message.word = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + case 5: + message.speakerTag = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WordInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.WordInfo} WordInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WordInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WordInfo message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WordInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Duration.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Duration.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.word != null && message.hasOwnProperty("word")) + if (!$util.isString(message.word)) + return "word: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + if (!$util.isInteger(message.speakerTag)) + return "speakerTag: integer expected"; + return null; + }; + + /** + * Creates a WordInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.WordInfo} WordInfo + */ + WordInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.WordInfo) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.WordInfo(); + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.WordInfo.startTime: object expected"); + message.startTime = $root.google.protobuf.Duration.fromObject(object.startTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.WordInfo.endTime: object expected"); + message.endTime = $root.google.protobuf.Duration.fromObject(object.endTime); + } + if (object.word != null) + message.word = String(object.word); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.speakerTag != null) + message.speakerTag = object.speakerTag | 0; + return message; + }; + + /** + * Creates a plain object from a WordInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {google.cloud.videointelligence.v1p3beta1.WordInfo} message WordInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WordInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTime = null; + object.endTime = null; + object.word = ""; + object.confidence = 0; + object.speakerTag = 0; + } + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Duration.toObject(message.startTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Duration.toObject(message.endTime, options); + if (message.word != null && message.hasOwnProperty("word")) + object.word = message.word; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + object.speakerTag = message.speakerTag; + return object; + }; + + /** + * Converts this WordInfo to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @instance + * @returns {Object.} JSON object + */ + WordInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WordInfo; + })(); + + v1p3beta1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1p3beta1.NormalizedBoundingPoly = (function() { + + /** + * Properties of a NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface INormalizedBoundingPoly + * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices + */ + + /** + * Constructs a new NormalizedBoundingPoly. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a NormalizedBoundingPoly. + * @implements INormalizedBoundingPoly + * @constructor + * @param {google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @instance + */ + NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance + */ + NormalizedBoundingPoly.create = function create(properties) { + return new NormalizedBoundingPoly(properties); + }; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + */ + NormalizedBoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex.toObject(message.vertices[j], options); + } + return object; + }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingPoly; + })(); + + v1p3beta1.TextSegment = (function() { + + /** + * Properties of a TextSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITextSegment + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] TextSegment segment + * @property {number|null} [confidence] TextSegment confidence + * @property {Array.|null} [frames] TextSegment frames + */ + + /** + * Constructs a new TextSegment. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a TextSegment. + * @implements ITextSegment + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITextSegment=} [properties] Properties to set + */ + function TextSegment(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextSegment segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @instance + */ + TextSegment.prototype.segment = null; + + /** + * TextSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @instance + */ + TextSegment.prototype.confidence = 0; + + /** + * TextSegment frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @instance + */ + TextSegment.prototype.frames = $util.emptyArray; + + /** + * Creates a new TextSegment instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TextSegment} TextSegment instance + */ + TextSegment.create = function create(properties) { + return new TextSegment(properties); + }; + + /** + * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TextFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextSegment} message TextSegment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextSegment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TextSegment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.TextFrame.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextSegment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.TextSegment} TextSegment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextSegment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextSegment message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextSegment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.TextFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + return null; + }; + + /** + * Creates a TextSegment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.TextSegment} TextSegment + */ + TextSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextSegment) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.TextSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextSegment.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextSegment.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.TextFrame.fromObject(object.frames[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextSegment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {google.cloud.videointelligence.v1p3beta1.TextSegment} message TextSegment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextSegment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.TextFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this TextSegment to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @instance + * @returns {Object.} JSON object + */ + TextSegment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextSegment; + })(); + + v1p3beta1.TextFrame = (function() { + + /** + * Properties of a TextFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITextFrame + * @property {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null} [rotatedBoundingBox] TextFrame rotatedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TextFrame timeOffset + */ + + /** + * Constructs a new TextFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a TextFrame. + * @implements ITextFrame + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITextFrame=} [properties] Properties to set + */ + function TextFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextFrame rotatedBoundingBox. + * @member {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null|undefined} rotatedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @instance + */ + TextFrame.prototype.rotatedBoundingBox = null; + + /** + * TextFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @instance + */ + TextFrame.prototype.timeOffset = null; + + /** + * Creates a new TextFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TextFrame} TextFrame instance + */ + TextFrame.create = function create(properties) { + return new TextFrame(properties); + }; + + /** + * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextFrame} message TextFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TextFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.TextFrame} TextFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.verify(message.rotatedBoundingBox); + if (error) + return "rotatedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.TextFrame} TextFrame + */ + TextFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.TextFrame(); + if (object.rotatedBoundingBox != null) { + if (typeof object.rotatedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextFrame.rotatedBoundingBox: object expected"); + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.fromObject(object.rotatedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.TextFrame} message TextFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.rotatedBoundingBox = null; + object.timeOffset = null; + } + if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + object.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.toObject(message.rotatedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this TextFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @instance + * @returns {Object.} JSON object + */ + TextFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextFrame; + })(); + + v1p3beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ITextAnnotation + * @property {string|null} [text] TextAnnotation text + * @property {Array.|null} [segments] TextAnnotation segments + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.segments = []; + if (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 text. + * @member {string} text + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * TextAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.segments = $util.emptyArray; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TextSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1p3beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.text = reader.string(); + break; + case 2: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.TextSegment.decode(reader, reader.uint32())); + 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.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.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.videointelligence.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.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.TextSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation(); + if (object.text != null) + message.text = String(object.text); + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.TextSegment.fromObject(object.segments[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.videointelligence.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.segments = []; + if (options.defaults) + object.text = ""; + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.TextSegment.toObject(message.segments[j], options); + } + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextAnnotation; + })(); + + v1p3beta1.ObjectTrackingFrame = (function() { + + /** + * Properties of an ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IObjectTrackingFrame + * @property {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null} [normalizedBoundingBox] ObjectTrackingFrame normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] ObjectTrackingFrame timeOffset + */ + + /** + * Constructs a new ObjectTrackingFrame. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ObjectTrackingFrame. + * @implements IObjectTrackingFrame + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame=} [properties] Properties to set + */ + function ObjectTrackingFrame(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingFrame normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.normalizedBoundingBox = null; + + /** + * ObjectTrackingFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @instance + */ + ObjectTrackingFrame.prototype.timeOffset = null; + + /** + * Creates a new ObjectTrackingFrame instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} ObjectTrackingFrame instance + */ + ObjectTrackingFrame.create = function create(properties) { + return new ObjectTrackingFrame(properties); + }; + + /** + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingFrame.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + case 2: + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} ObjectTrackingFrame + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingFrame.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingFrame message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingFrame.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + return null; + }; + + /** + * Creates an ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} ObjectTrackingFrame + */ + ObjectTrackingFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} message ObjectTrackingFrame + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingFrame.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + return object; + }; + + /** + * Converts this ObjectTrackingFrame to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingFrame.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingFrame; + })(); + + v1p3beta1.ObjectTrackingAnnotation = (function() { + + /** + * Properties of an ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IObjectTrackingAnnotation + * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] ObjectTrackingAnnotation entity + * @property {number|null} [confidence] ObjectTrackingAnnotation confidence + * @property {Array.|null} [frames] ObjectTrackingAnnotation frames + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment + * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId + */ + + /** + * Constructs a new ObjectTrackingAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents an ObjectTrackingAnnotation. + * @implements IObjectTrackingAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation=} [properties] Properties to set + */ + function ObjectTrackingAnnotation(properties) { + this.frames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ObjectTrackingAnnotation entity. + * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.entity = null; + + /** + * ObjectTrackingAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.confidence = 0; + + /** + * ObjectTrackingAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + + /** + * ObjectTrackingAnnotation segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.segment = null; + + /** + * ObjectTrackingAnnotation trackId. + * @member {number|Long} trackId + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ObjectTrackingAnnotation trackInfo. + * @member {"segment"|"trackId"|undefined} trackInfo + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + */ + Object.defineProperty(ObjectTrackingAnnotation.prototype, "trackInfo", { + get: $util.oneOfGetter($oneOfFields = ["segment", "trackId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ObjectTrackingAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation instance + */ + ObjectTrackingAnnotation.create = function create(properties) { + return new ObjectTrackingAnnotation(properties); + }; + + /** + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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); + if (message.trackId != null && message.hasOwnProperty("trackId")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); + return writer; + }; + + /** + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation} message ObjectTrackingAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectTrackingAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + case 4: + message.confidence = reader.float(); + break; + case 2: + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + case 3: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 5: + message.trackId = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectTrackingAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectTrackingAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectTrackingAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify(message.frames[i]); + if (error) + return "frames." + error; + } + } + if (message.segment != null && message.hasOwnProperty("segment")) { + properties.trackInfo = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + } + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (properties.trackInfo === 1) + return "trackInfo: multiple values"; + properties.trackInfo = 1; + if (!$util.isInteger(message.trackId) && !(message.trackId && $util.isInteger(message.trackId.low) && $util.isInteger(message.trackId.high))) + return "trackId: integer|Long expected"; + } + return null; + }; + + /** + * Creates an ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} ObjectTrackingAnnotation + */ + ObjectTrackingAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.entity); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.fromObject(object.frames[i]); + } + } + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.trackId != null) + if ($util.Long) + (message.trackId = $util.Long.fromValue(object.trackId)).unsigned = false; + else if (typeof object.trackId === "string") + message.trackId = parseInt(object.trackId, 10); + else if (typeof object.trackId === "number") + message.trackId = object.trackId; + else if (typeof object.trackId === "object") + message.trackId = new $util.LongBits(object.trackId.low >>> 0, object.trackId.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} message ObjectTrackingAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectTrackingAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.frames = []; + if (options.defaults) { + object.entity = null; + object.confidence = 0; + } + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.entity, options); + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.toObject(message.frames[j], options); + } + if (message.segment != null && message.hasOwnProperty("segment")) { + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (options.oneofs) + object.trackInfo = "segment"; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (typeof message.trackId === "number") + object.trackId = options.longs === String ? String(message.trackId) : message.trackId; + else + object.trackId = options.longs === String ? $util.Long.prototype.toString.call(message.trackId) : options.longs === Number ? new $util.LongBits(message.trackId.low >>> 0, message.trackId.high >>> 0).toNumber() : message.trackId; + if (options.oneofs) + object.trackInfo = "trackId"; + } + return object; + }; + + /** + * Converts this ObjectTrackingAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectTrackingAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectTrackingAnnotation; + })(); + + v1p3beta1.LogoRecognitionAnnotation = (function() { + + /** + * Properties of a LogoRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ILogoRecognitionAnnotation + * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] LogoRecognitionAnnotation entity + * @property {Array.|null} [tracks] LogoRecognitionAnnotation tracks + * @property {Array.|null} [segments] LogoRecognitionAnnotation segments + */ + + /** + * Constructs a new LogoRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a LogoRecognitionAnnotation. + * @implements ILogoRecognitionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation=} [properties] Properties to set + */ + function LogoRecognitionAnnotation(properties) { + this.tracks = []; + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LogoRecognitionAnnotation entity. + * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.entity = null; + + /** + * LogoRecognitionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.tracks = $util.emptyArray; + + /** + * LogoRecognitionAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.segments = $util.emptyArray; + + /** + * Creates a new LogoRecognitionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} LogoRecognitionAnnotation instance + */ + LogoRecognitionAnnotation.create = function create(properties) { + return new LogoRecognitionAnnotation(properties); + }; + + /** + * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation} message LogoRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LogoRecognitionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.tracks[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation} message LogoRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LogoRecognitionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LogoRecognitionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LogoRecognitionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LogoRecognitionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LogoRecognitionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.tracks[i]); + if (error) + return "tracks." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + return null; + }; + + /** + * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + */ + LogoRecognitionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.entity); + } + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.tracks[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segments[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} message LogoRecognitionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LogoRecognitionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.tracks = []; + object.segments = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.entity, options); + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.tracks[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segments[j], options); + } + return object; + }; + + /** + * Converts this LogoRecognitionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @instance + * @returns {Object.} JSON object + */ + LogoRecognitionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LogoRecognitionAnnotation; + })(); + + v1p3beta1.StreamingAnnotateVideoRequest = (function() { + + /** + * Properties of a StreamingAnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingAnnotateVideoRequest + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null} [videoConfig] StreamingAnnotateVideoRequest videoConfig + * @property {Uint8Array|null} [inputContent] StreamingAnnotateVideoRequest inputContent + */ + + /** + * Constructs a new StreamingAnnotateVideoRequest. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingAnnotateVideoRequest. + * @implements IStreamingAnnotateVideoRequest + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest=} [properties] Properties to set + */ + function StreamingAnnotateVideoRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingAnnotateVideoRequest videoConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null|undefined} videoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @instance + */ + StreamingAnnotateVideoRequest.prototype.videoConfig = null; + + /** + * StreamingAnnotateVideoRequest inputContent. + * @member {Uint8Array} inputContent + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @instance + */ + StreamingAnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * StreamingAnnotateVideoRequest streamingRequest. + * @member {"videoConfig"|"inputContent"|undefined} streamingRequest + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @instance + */ + Object.defineProperty(StreamingAnnotateVideoRequest.prototype, "streamingRequest", { + get: $util.oneOfGetter($oneOfFields = ["videoConfig", "inputContent"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new StreamingAnnotateVideoRequest instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} StreamingAnnotateVideoRequest instance + */ + StreamingAnnotateVideoRequest.create = function create(properties) { + return new StreamingAnnotateVideoRequest(properties); + }; + + /** + * Encodes the specified StreamingAnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest} message StreamingAnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAnnotateVideoRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.videoConfig != null && message.hasOwnProperty("videoConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.encode(message.videoConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.inputContent != null && message.hasOwnProperty("inputContent")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.inputContent); + return writer; + }; + + /** + * Encodes the specified StreamingAnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest} message StreamingAnnotateVideoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} StreamingAnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAnnotateVideoRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.videoConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.decode(reader, reader.uint32()); + break; + case 2: + message.inputContent = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} StreamingAnnotateVideoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingAnnotateVideoRequest message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingAnnotateVideoRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.videoConfig != null && message.hasOwnProperty("videoConfig")) { + properties.streamingRequest = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify(message.videoConfig); + if (error) + return "videoConfig." + error; + } + } + if (message.inputContent != null && message.hasOwnProperty("inputContent")) { + if (properties.streamingRequest === 1) + return "streamingRequest: multiple values"; + properties.streamingRequest = 1; + if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent))) + return "inputContent: buffer expected"; + } + return null; + }; + + /** + * Creates a StreamingAnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} StreamingAnnotateVideoRequest + */ + StreamingAnnotateVideoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest(); + if (object.videoConfig != null) { + if (typeof object.videoConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.videoConfig: object expected"); + message.videoConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.fromObject(object.videoConfig); + } + if (object.inputContent != null) + if (typeof object.inputContent === "string") + $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); + else if (object.inputContent.length) + message.inputContent = object.inputContent; + return message; + }; + + /** + * Creates a plain object from a StreamingAnnotateVideoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} message StreamingAnnotateVideoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingAnnotateVideoRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.videoConfig != null && message.hasOwnProperty("videoConfig")) { + object.videoConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.toObject(message.videoConfig, options); + if (options.oneofs) + object.streamingRequest = "videoConfig"; + } + if (message.inputContent != null && message.hasOwnProperty("inputContent")) { + object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent; + if (options.oneofs) + object.streamingRequest = "inputContent"; + } + return object; + }; + + /** + * Converts this StreamingAnnotateVideoRequest to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @instance + * @returns {Object.} JSON object + */ + StreamingAnnotateVideoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingAnnotateVideoRequest; + })(); + + v1p3beta1.StreamingAnnotateVideoResponse = (function() { + + /** + * Properties of a StreamingAnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingAnnotateVideoResponse + * @property {google.rpc.IStatus|null} [error] StreamingAnnotateVideoResponse error + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null} [annotationResults] StreamingAnnotateVideoResponse annotationResults + * @property {string|null} [annotationResultsUri] StreamingAnnotateVideoResponse annotationResultsUri + */ + + /** + * Constructs a new StreamingAnnotateVideoResponse. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingAnnotateVideoResponse. + * @implements IStreamingAnnotateVideoResponse + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set + */ + function StreamingAnnotateVideoResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingAnnotateVideoResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + */ + StreamingAnnotateVideoResponse.prototype.error = null; + + /** + * StreamingAnnotateVideoResponse annotationResults. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null|undefined} annotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + */ + StreamingAnnotateVideoResponse.prototype.annotationResults = null; + + /** + * StreamingAnnotateVideoResponse annotationResultsUri. + * @member {string} annotationResultsUri + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + */ + StreamingAnnotateVideoResponse.prototype.annotationResultsUri = ""; + + /** + * Creates a new StreamingAnnotateVideoResponse instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse instance + */ + StreamingAnnotateVideoResponse.create = function create(properties) { + return new StreamingAnnotateVideoResponse(properties); + }; + + /** + * Encodes the specified StreamingAnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAnnotateVideoResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.encode(message.annotationResults, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultsUri); + return writer; + }; + + /** + * Encodes the specified StreamingAnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAnnotateVideoResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 2: + message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.decode(reader, reader.uint32()); + break; + case 3: + message.annotationResultsUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingAnnotateVideoResponse message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingAnnotateVideoResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify(message.annotationResults); + if (error) + return "annotationResults." + error; + } + if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + if (!$util.isString(message.annotationResultsUri)) + return "annotationResultsUri: string expected"; + return null; + }; + + /** + * Creates a StreamingAnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + */ + StreamingAnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.annotationResults != null) { + if (typeof object.annotationResults !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.fromObject(object.annotationResults); + } + if (object.annotationResultsUri != null) + message.annotationResultsUri = String(object.annotationResultsUri); + return message; + }; + + /** + * Creates a plain object from a StreamingAnnotateVideoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingAnnotateVideoResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.error = null; + object.annotationResults = null; + object.annotationResultsUri = ""; + } + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) + object.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.toObject(message.annotationResults, options); + if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + object.annotationResultsUri = message.annotationResultsUri; + return object; + }; + + /** + * Converts this StreamingAnnotateVideoResponse to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + * @returns {Object.} JSON object + */ + StreamingAnnotateVideoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingAnnotateVideoResponse; + })(); + + v1p3beta1.StreamingAutomlClassificationConfig = (function() { + + /** + * Properties of a StreamingAutomlClassificationConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingAutomlClassificationConfig + * @property {string|null} [modelName] StreamingAutomlClassificationConfig modelName + */ + + /** + * Constructs a new StreamingAutomlClassificationConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingAutomlClassificationConfig. + * @implements IStreamingAutomlClassificationConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set + */ + function StreamingAutomlClassificationConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingAutomlClassificationConfig modelName. + * @member {string} modelName + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @instance + */ + StreamingAutomlClassificationConfig.prototype.modelName = ""; + + /** + * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig instance + */ + StreamingAutomlClassificationConfig.create = function create(properties) { + return new StreamingAutomlClassificationConfig(properties); + }; + + /** + * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAutomlClassificationConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelName != null && message.hasOwnProperty("modelName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); + return writer; + }; + + /** + * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAutomlClassificationConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAutomlClassificationConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modelName = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAutomlClassificationConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingAutomlClassificationConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingAutomlClassificationConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelName != null && message.hasOwnProperty("modelName")) + if (!$util.isString(message.modelName)) + return "modelName: string expected"; + return null; + }; + + /** + * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + */ + StreamingAutomlClassificationConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); + if (object.modelName != null) + message.modelName = String(object.modelName); + return message; + }; + + /** + * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingAutomlClassificationConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.modelName = ""; + if (message.modelName != null && message.hasOwnProperty("modelName")) + object.modelName = message.modelName; + return object; + }; + + /** + * Converts this StreamingAutomlClassificationConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingAutomlClassificationConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingAutomlClassificationConfig; + })(); + + v1p3beta1.StreamingAutomlObjectTrackingConfig = (function() { + + /** + * Properties of a StreamingAutomlObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingAutomlObjectTrackingConfig + * @property {string|null} [modelName] StreamingAutomlObjectTrackingConfig modelName + */ + + /** + * Constructs a new StreamingAutomlObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingAutomlObjectTrackingConfig. + * @implements IStreamingAutomlObjectTrackingConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set + */ + function StreamingAutomlObjectTrackingConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingAutomlObjectTrackingConfig modelName. + * @member {string} modelName + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @instance + */ + StreamingAutomlObjectTrackingConfig.prototype.modelName = ""; + + /** + * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig instance + */ + StreamingAutomlObjectTrackingConfig.create = function create(properties) { + return new StreamingAutomlObjectTrackingConfig(properties); + }; + + /** + * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAutomlObjectTrackingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.modelName != null && message.hasOwnProperty("modelName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); + return writer; + }; + + /** + * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingAutomlObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAutomlObjectTrackingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modelName = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingAutomlObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingAutomlObjectTrackingConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingAutomlObjectTrackingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.modelName != null && message.hasOwnProperty("modelName")) + if (!$util.isString(message.modelName)) + return "modelName: string expected"; + return null; + }; + + /** + * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + */ + StreamingAutomlObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); + if (object.modelName != null) + message.modelName = String(object.modelName); + return message; + }; + + /** + * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingAutomlObjectTrackingConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.modelName = ""; + if (message.modelName != null && message.hasOwnProperty("modelName")) + object.modelName = message.modelName; + return object; + }; + + /** + * Converts this StreamingAutomlObjectTrackingConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingAutomlObjectTrackingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingAutomlObjectTrackingConfig; + })(); + + v1p3beta1.StreamingExplicitContentDetectionConfig = (function() { + + /** + * Properties of a StreamingExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingExplicitContentDetectionConfig + */ + + /** + * Constructs a new StreamingExplicitContentDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingExplicitContentDetectionConfig. + * @implements IStreamingExplicitContentDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set + */ + function StreamingExplicitContentDetectionConfig(properties) { + if (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 StreamingExplicitContentDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig instance + */ + StreamingExplicitContentDetectionConfig.create = function create(properties) { + return new StreamingExplicitContentDetectionConfig(properties); + }; + + /** + * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingExplicitContentDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingExplicitContentDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingExplicitContentDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingExplicitContentDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + */ + StreamingExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig) + return object; + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); + }; + + /** + * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingExplicitContentDetectionConfig.toObject = function toObject() { + return {}; + }; + + /** + * Converts this StreamingExplicitContentDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingExplicitContentDetectionConfig; + })(); + + v1p3beta1.StreamingLabelDetectionConfig = (function() { + + /** + * Properties of a StreamingLabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingLabelDetectionConfig + * @property {boolean|null} [stationaryCamera] StreamingLabelDetectionConfig stationaryCamera + */ + + /** + * Constructs a new StreamingLabelDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingLabelDetectionConfig. + * @implements IStreamingLabelDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig=} [properties] Properties to set + */ + function StreamingLabelDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingLabelDetectionConfig stationaryCamera. + * @member {boolean} stationaryCamera + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @instance + */ + StreamingLabelDetectionConfig.prototype.stationaryCamera = false; + + /** + * Creates a new StreamingLabelDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} StreamingLabelDetectionConfig instance + */ + StreamingLabelDetectionConfig.create = function create(properties) { + return new StreamingLabelDetectionConfig(properties); + }; + + /** + * Encodes the specified StreamingLabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig} message StreamingLabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingLabelDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.stationaryCamera); + return writer; + }; + + /** + * Encodes the specified StreamingLabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig} message StreamingLabelDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingLabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} StreamingLabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingLabelDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.stationaryCamera = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} StreamingLabelDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingLabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingLabelDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingLabelDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (typeof message.stationaryCamera !== "boolean") + return "stationaryCamera: boolean expected"; + return null; + }; + + /** + * Creates a StreamingLabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} StreamingLabelDetectionConfig + */ + StreamingLabelDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig(); + if (object.stationaryCamera != null) + message.stationaryCamera = Boolean(object.stationaryCamera); + return message; + }; + + /** + * Creates a plain object from a StreamingLabelDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} message StreamingLabelDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingLabelDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.stationaryCamera = false; + if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + object.stationaryCamera = message.stationaryCamera; + return object; + }; + + /** + * Converts this StreamingLabelDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingLabelDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingLabelDetectionConfig; + })(); + + v1p3beta1.StreamingObjectTrackingConfig = (function() { + + /** + * Properties of a StreamingObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingObjectTrackingConfig + */ + + /** + * Constructs a new StreamingObjectTrackingConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingObjectTrackingConfig. + * @implements IStreamingObjectTrackingConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set + */ + function StreamingObjectTrackingConfig(properties) { + if (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 StreamingObjectTrackingConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig instance + */ + StreamingObjectTrackingConfig.create = function create(properties) { + return new StreamingObjectTrackingConfig(properties); + }; + + /** + * Encodes the specified StreamingObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingObjectTrackingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified StreamingObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingObjectTrackingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingObjectTrackingConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingObjectTrackingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a StreamingObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + */ + StreamingObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig) + return object; + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); + }; + + /** + * Creates a plain object from a StreamingObjectTrackingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} message StreamingObjectTrackingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingObjectTrackingConfig.toObject = function toObject() { + return {}; + }; + + /** + * Converts this StreamingObjectTrackingConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingObjectTrackingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingObjectTrackingConfig; + })(); + + v1p3beta1.StreamingShotChangeDetectionConfig = (function() { + + /** + * Properties of a StreamingShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingShotChangeDetectionConfig + */ + + /** + * Constructs a new StreamingShotChangeDetectionConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingShotChangeDetectionConfig. + * @implements IStreamingShotChangeDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set + */ + function StreamingShotChangeDetectionConfig(properties) { + if (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 StreamingShotChangeDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig instance + */ + StreamingShotChangeDetectionConfig.create = function create(properties) { + return new StreamingShotChangeDetectionConfig(properties); + }; + + /** + * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingShotChangeDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingShotChangeDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingShotChangeDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingShotChangeDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + */ + StreamingShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig) + return object; + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); + }; + + /** + * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingShotChangeDetectionConfig.toObject = function toObject() { + return {}; + }; + + /** + * Converts this StreamingShotChangeDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingShotChangeDetectionConfig; + })(); + + v1p3beta1.StreamingStorageConfig = (function() { + + /** + * Properties of a StreamingStorageConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingStorageConfig + * @property {boolean|null} [enableStorageAnnotationResult] StreamingStorageConfig enableStorageAnnotationResult + * @property {string|null} [annotationResultStorageDirectory] StreamingStorageConfig annotationResultStorageDirectory + */ + + /** + * Constructs a new StreamingStorageConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingStorageConfig. + * @implements IStreamingStorageConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set + */ + function StreamingStorageConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingStorageConfig enableStorageAnnotationResult. + * @member {boolean} enableStorageAnnotationResult + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + */ + StreamingStorageConfig.prototype.enableStorageAnnotationResult = false; + + /** + * StreamingStorageConfig annotationResultStorageDirectory. + * @member {string} annotationResultStorageDirectory + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + */ + StreamingStorageConfig.prototype.annotationResultStorageDirectory = ""; + + /** + * Creates a new StreamingStorageConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig instance + */ + StreamingStorageConfig.create = function create(properties) { + return new StreamingStorageConfig(properties); + }; + + /** + * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingStorageConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableStorageAnnotationResult); + if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultStorageDirectory); + return writer; + }; + + /** + * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingStorageConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingStorageConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.enableStorageAnnotationResult = reader.bool(); + break; + case 3: + message.annotationResultStorageDirectory = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingStorageConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingStorageConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingStorageConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + if (typeof message.enableStorageAnnotationResult !== "boolean") + return "enableStorageAnnotationResult: boolean expected"; + if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + if (!$util.isString(message.annotationResultStorageDirectory)) + return "annotationResultStorageDirectory: string expected"; + return null; + }; + + /** + * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + */ + StreamingStorageConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); + if (object.enableStorageAnnotationResult != null) + message.enableStorageAnnotationResult = Boolean(object.enableStorageAnnotationResult); + if (object.annotationResultStorageDirectory != null) + message.annotationResultStorageDirectory = String(object.annotationResultStorageDirectory); + return message; + }; + + /** + * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} message StreamingStorageConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingStorageConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.enableStorageAnnotationResult = false; + object.annotationResultStorageDirectory = ""; + } + if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + object.enableStorageAnnotationResult = message.enableStorageAnnotationResult; + if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + object.annotationResultStorageDirectory = message.annotationResultStorageDirectory; + return object; + }; + + /** + * Converts this StreamingStorageConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingStorageConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingStorageConfig; + })(); + + v1p3beta1.StreamingVideoAnnotationResults = (function() { + + /** + * Properties of a StreamingVideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingVideoAnnotationResults + * @property {Array.|null} [shotAnnotations] StreamingVideoAnnotationResults shotAnnotations + * @property {Array.|null} [labelAnnotations] StreamingVideoAnnotationResults labelAnnotations + * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] StreamingVideoAnnotationResults explicitAnnotation + * @property {Array.|null} [objectAnnotations] StreamingVideoAnnotationResults objectAnnotations + */ + + /** + * Constructs a new StreamingVideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingVideoAnnotationResults. + * @implements IStreamingVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set + */ + function StreamingVideoAnnotationResults(properties) { + this.shotAnnotations = []; + this.labelAnnotations = []; + 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]]; + } + + /** + * StreamingVideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * StreamingVideoAnnotationResults labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.labelAnnotations = $util.emptyArray; + + /** + * StreamingVideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * StreamingVideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * Creates a new StreamingVideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults instance + */ + StreamingVideoAnnotationResults.create = function create(properties) { + return new StreamingVideoAnnotationResults(properties); + }; + + /** + * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingVideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingVideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingVideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingVideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingVideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingVideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + 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.videointelligence.v1p3beta1.LabelAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + 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.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } + } + return null; + }; + + /** + * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + */ + StreamingVideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} message StreamingVideoAnnotationResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingVideoAnnotationResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.shotAnnotations = []; + object.labelAnnotations = []; + object.objectAnnotations = []; + } + if (options.defaults) + object.explicitAnnotation = null; + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.shotAnnotations[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.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.objectAnnotations && message.objectAnnotations.length) { + object.objectAnnotations = []; + for (var j = 0; j < message.objectAnnotations.length; ++j) + object.objectAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this StreamingVideoAnnotationResults to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + * @returns {Object.} JSON object + */ + StreamingVideoAnnotationResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingVideoAnnotationResults; + })(); + + v1p3beta1.StreamingVideoConfig = (function() { + + /** + * Properties of a StreamingVideoConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingVideoConfig + * @property {google.cloud.videointelligence.v1p3beta1.StreamingFeature|null} [feature] StreamingVideoConfig feature + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null} [shotChangeDetectionConfig] StreamingVideoConfig shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null} [labelDetectionConfig] StreamingVideoConfig labelDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] StreamingVideoConfig explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null} [objectTrackingConfig] StreamingVideoConfig objectTrackingConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null} [automlClassificationConfig] StreamingVideoConfig automlClassificationConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null} [automlObjectTrackingConfig] StreamingVideoConfig automlObjectTrackingConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null} [storageConfig] StreamingVideoConfig storageConfig + */ + + /** + * Constructs a new StreamingVideoConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingVideoConfig. + * @implements IStreamingVideoConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set + */ + function StreamingVideoConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StreamingVideoConfig feature. + * @member {google.cloud.videointelligence.v1p3beta1.StreamingFeature} feature + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.feature = 0; + + /** + * StreamingVideoConfig shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.shotChangeDetectionConfig = null; + + /** + * StreamingVideoConfig labelDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.labelDetectionConfig = null; + + /** + * StreamingVideoConfig explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.explicitContentDetectionConfig = null; + + /** + * StreamingVideoConfig objectTrackingConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null|undefined} objectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.objectTrackingConfig = null; + + /** + * StreamingVideoConfig automlClassificationConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null|undefined} automlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.automlClassificationConfig = null; + + /** + * StreamingVideoConfig automlObjectTrackingConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null|undefined} automlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.automlObjectTrackingConfig = null; + + /** + * StreamingVideoConfig storageConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null|undefined} storageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.storageConfig = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * StreamingVideoConfig streamingConfig. + * @member {"shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"|undefined} streamingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + Object.defineProperty(StreamingVideoConfig.prototype, "streamingConfig", { + get: $util.oneOfGetter($oneOfFields = ["shotChangeDetectionConfig", "labelDetectionConfig", "explicitContentDetectionConfig", "objectTrackingConfig", "automlClassificationConfig", "automlObjectTrackingConfig"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new StreamingVideoConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig instance + */ + StreamingVideoConfig.create = function create(properties) { + return new StreamingVideoConfig(properties); + }; + + /** + * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingVideoConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.feature != null && message.hasOwnProperty("feature")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.feature); + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.encode(message.automlClassificationConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.encode(message.automlObjectTrackingConfig, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.encode(message.storageConfig, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingVideoConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingVideoConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feature = reader.int32(); + break; + case 2: + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + case 3: + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 5: + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.decode(reader, reader.uint32()); + break; + case 21: + message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.decode(reader, reader.uint32()); + break; + case 22: + message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.decode(reader, reader.uint32()); + break; + case 30: + message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingVideoConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingVideoConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingVideoConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.feature != null && message.hasOwnProperty("feature")) + switch (message.feature) { + default: + return "feature: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 21: + case 22: + break; + } + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify(message.objectTrackingConfig); + if (error) + return "objectTrackingConfig." + error; + } + } + if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify(message.automlClassificationConfig); + if (error) + return "automlClassificationConfig." + error; + } + } + if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify(message.automlObjectTrackingConfig); + if (error) + return "automlObjectTrackingConfig." + error; + } + } + if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify(message.storageConfig); + if (error) + return "storageConfig." + error; + } + return null; + }; + + /** + * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + */ + StreamingVideoConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); + switch (object.feature) { + case "STREAMING_FEATURE_UNSPECIFIED": + case 0: + message.feature = 0; + break; + case "STREAMING_LABEL_DETECTION": + case 1: + message.feature = 1; + break; + case "STREAMING_SHOT_CHANGE_DETECTION": + case 2: + message.feature = 2; + break; + case "STREAMING_EXPLICIT_CONTENT_DETECTION": + case 3: + message.feature = 3; + break; + case "STREAMING_OBJECT_TRACKING": + case 4: + message.feature = 4; + break; + case "STREAMING_AUTOML_CLASSIFICATION": + case 21: + message.feature = 21; + break; + case "STREAMING_AUTOML_OBJECT_TRACKING": + case 22: + message.feature = 22; + break; + } + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); + } + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.objectTrackingConfig != null) { + if (typeof object.objectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.objectTrackingConfig: object expected"); + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.fromObject(object.objectTrackingConfig); + } + if (object.automlClassificationConfig != null) { + if (typeof object.automlClassificationConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlClassificationConfig: object expected"); + message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.fromObject(object.automlClassificationConfig); + } + if (object.automlObjectTrackingConfig != null) { + if (typeof object.automlObjectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlObjectTrackingConfig: object expected"); + message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.fromObject(object.automlObjectTrackingConfig); + } + if (object.storageConfig != null) { + if (typeof object.storageConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.storageConfig: object expected"); + message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.fromObject(object.storageConfig); + } + return message; + }; + + /** + * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} message StreamingVideoConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingVideoConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.feature = options.enums === String ? "STREAMING_FEATURE_UNSPECIFIED" : 0; + object.storageConfig = null; + } + if (message.feature != null && message.hasOwnProperty("feature")) + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] : message.feature; + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "shotChangeDetectionConfig"; + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "labelDetectionConfig"; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "explicitContentDetectionConfig"; + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + object.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.toObject(message.objectTrackingConfig, options); + if (options.oneofs) + object.streamingConfig = "objectTrackingConfig"; + } + if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { + object.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.toObject(message.automlClassificationConfig, options); + if (options.oneofs) + object.streamingConfig = "automlClassificationConfig"; + } + if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { + object.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.toObject(message.automlObjectTrackingConfig, options); + if (options.oneofs) + object.streamingConfig = "automlObjectTrackingConfig"; + } + if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) + object.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.toObject(message.storageConfig, options); + return object; + }; + + /** + * Converts this StreamingVideoConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingVideoConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingVideoConfig; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1p3beta1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value + * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value + * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value + */ + v1p3beta1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; + values[valuesById[7] = "TEXT_DETECTION"] = 7; + values[valuesById[9] = "OBJECT_TRACKING"] = 9; + values[valuesById[12] = "LOGO_RECOGNITION"] = 12; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1p3beta1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1p3beta1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1p3beta1.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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; + })(); + + /** + * StreamingFeature enum. + * @name google.cloud.videointelligence.v1p3beta1.StreamingFeature + * @enum {string} + * @property {number} STREAMING_FEATURE_UNSPECIFIED=0 STREAMING_FEATURE_UNSPECIFIED value + * @property {number} STREAMING_LABEL_DETECTION=1 STREAMING_LABEL_DETECTION value + * @property {number} STREAMING_SHOT_CHANGE_DETECTION=2 STREAMING_SHOT_CHANGE_DETECTION value + * @property {number} STREAMING_EXPLICIT_CONTENT_DETECTION=3 STREAMING_EXPLICIT_CONTENT_DETECTION value + * @property {number} STREAMING_OBJECT_TRACKING=4 STREAMING_OBJECT_TRACKING value + * @property {number} STREAMING_AUTOML_CLASSIFICATION=21 STREAMING_AUTOML_CLASSIFICATION value + * @property {number} STREAMING_AUTOML_OBJECT_TRACKING=22 STREAMING_AUTOML_OBJECT_TRACKING value + */ + v1p3beta1.StreamingFeature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STREAMING_FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "STREAMING_LABEL_DETECTION"] = 1; + values[valuesById[2] = "STREAMING_SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "STREAMING_EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "STREAMING_OBJECT_TRACKING"] = 4; + values[valuesById[21] = "STREAMING_AUTOML_CLASSIFICATION"] = 21; + values[valuesById[22] = "STREAMING_AUTOML_OBJECT_TRACKING"] = 22; + return values; + })(); + + return v1p3beta1; + })(); + + return videointelligence; + })(); + + 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; + })(); + + 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 + */ + + /** + * 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; + + /** + * 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(); + 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; + 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; + } + } + 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]); + } + } + 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; + } + 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); + } + 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 + */ + + /** + * 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 = []; + if (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; + + /** + * 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(); + 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; + 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; + } + } + 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]); + } + } + 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 = []; + 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; + } + 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); + } + 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.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; + })(); + + 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; + })(); + + return google; + })(); + + return $root; +}); diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 1a02978c3bd..d5447d8dd67 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-09-04T11:29:28.847451Z", + "updateTime": "2019-09-20T11:29:11.859985Z", "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": "a2158681f6e30c5fd9446eb1fd7b5021a6d48bfa", - "internalRef": "266999433" + "sha": "44e588d97e7497dff01107d39b6a19062f9a4ffa", + "internalRef": "270200097" } }, { From ad51b43a3a42b1ccd82adf04c72d493e3ed58aa8 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2019 15:54:30 -0700 Subject: [PATCH 206/418] chore: release 2.4.0 (#298) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 928fc68807c..fd06ea03a91 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.3.0...v2.4.0) (2019-09-30) + + +### Features + +* .d.ts for protos ([#293](https://www.github.com/googleapis/nodejs-video-intelligence/issues/293)) ([c49a0fb](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c49a0fb)) + ## [2.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.2...v2.3.0) (2019-09-16) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 456f9951984..bef14196d0b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.3.0", + "version": "2.4.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { From e31dcce24aa7e57940bd1b5cc086ba671f54673f Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 Oct 2019 01:09:50 -0700 Subject: [PATCH 207/418] fix: use compatible version of google-gax * fix: use compatible version of google-gax * fix: use gax v1.6.3 --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index bef14196d0b..83d5b07fb8b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -41,7 +41,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "google-gax": "^1.0.0", + "google-gax": "^1.6.3", "protobufjs": "^6.8.8" }, "devDependencies": { From 7c358b8674d2c5c3183b03bd4f657d708bd4e335 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 3 Oct 2019 20:48:49 -0700 Subject: [PATCH 208/418] chore: update pull request template (#299) --- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index d5447d8dd67..5c40948a6a7 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-09-20T11:29:11.859985Z", + "updateTime": "2019-10-01T11:36:54.388073Z", "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 8d67998fbeb676c400f3b7dc2fcd205a0a8b8178 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 11 Oct 2019 15:38:49 -0700 Subject: [PATCH 209/418] feat: remove v1beta1 API support --- .../src/index.js | 15 - .../v1beta1/doc_video_intelligence.js | 532 ------------------ .../doc/google/longrunning/doc_operations.js | 63 --- .../v1beta1/doc/google/protobuf/doc_any.js | 137 ----- .../src/v1beta1/doc/google/rpc/doc_status.js | 95 ---- .../src/v1beta1/index.js | 19 - .../video_intelligence_service_client.js | 383 ------------- ...eo_intelligence_service_client_config.json | 31 - ...video_intelligence_service_proto_list.json | 3 - .../google-cloud-videointelligence/synth.py | 2 +- 10 files changed, 1 insertion(+), 1279 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/index.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json delete mode 100644 packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js index d9954a53c3e..45ce8cf6828 100644 --- a/packages/google-cloud-videointelligence/src/index.js +++ b/packages/google-cloud-videointelligence/src/index.js @@ -30,9 +30,6 @@ /** * @namespace google.cloud.videointelligence.v1beta2 */ -/** - * @namespace google.cloud.videointelligence.v1beta1 - */ /** * @namespace google.cloud.videointelligence.v1p1beta1 */ @@ -49,7 +46,6 @@ const gapic = Object.freeze({ v1: require('./v1'), v1beta2: require('./v1beta2'), - v1beta1: require('./v1beta1'), v1p1beta1: require('./v1p1beta1'), v1p2beta1: require('./v1p2beta1'), v1p3beta1: require('./v1p3beta1'), @@ -68,10 +64,6 @@ const gapic = Object.freeze({ * particular backend service version. It exports: * - `VideoIntelligenceServiceClient` - Reference to * {@link v1beta2.VideoIntelligenceServiceClient} - * - `v1beta1` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1beta1.VideoIntelligenceServiceClient} * - `v1p1beta1` - This is used for selecting or pinning a * particular backend service version. It exports: * - `VideoIntelligenceServiceClient` - Reference to @@ -129,13 +121,6 @@ module.exports.v1 = gapic.v1; */ module.exports.v1beta2 = gapic.v1beta2; -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1beta1.VideoIntelligenceServiceClient} - */ -module.exports.v1beta1 = gapic.v1beta1; - /** * @type {object} * @property {constructor} VideoIntelligenceServiceClient diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js deleted file mode 100644 index 470f2092a4b..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/cloud/videointelligence/v1beta1/doc_video_intelligence.js +++ /dev/null @@ -1,532 +0,0 @@ -// 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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {string} inputContent - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. - * - * @property {number[]} features - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta1.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta1.VideoContext} - * - * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video - * is treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} - * - * @property {number} labelDetectionMode - * If label detection has been requested, what labels should be detected - * in addition to video-level labels or segment-level labels. If unspecified, - * defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1beta1.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * - * @property {string} labelDetectionModel - * Model to use for label detection. - * Supported values: "latest" and "stable" (the default). - * - * @property {string} faceDetectionModel - * Model to use for face detection. - * Supported values: "latest" and "stable" (the default). - * - * @property {string} shotChangeDetectionModel - * Model to use for shot change detection. - * Supported values: "latest" and "stable" (the default). - * - * @property {string} safeSearchDetectionModel - * Model to use for safe search detection. - * Supported values: "latest" and "stable" (the default). - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {number} startTimeOffset - * Start offset in microseconds (inclusive). Unset means 0. - * - * @property {number} endTimeOffset - * End offset in microseconds (inclusive). Unset means 0. - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label location. - * - * @property {Object} segment - * Video segment. Set to [-1, -1] for video-level labels. - * Set to [timestamp, timestamp] for frame-level labels. - * Otherwise, corresponds to one of `AnnotateSpec.segments` - * (if specified) or to shot boundaries (if requested). - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @property {number} level - * Label level. - * - * The number should be among the values of [LabelLevel]{@link google.cloud.videointelligence.v1beta1.LabelLevel} - * - * @typedef LabelLocation - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.LabelLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const LabelLocation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @property {Object[]} locations - * Where the label was detected and with what confidence. - * - * This object should have the same structure as [LabelLocation]{@link google.cloud.videointelligence.v1beta1.LabelLocation} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Safe search annotation (based on per-frame visual signals only). - * If no unsafe content has been detected in a frame, no annotations - * are present for that frame. If only some types of unsafe content - * have been detected in a frame, the likelihood is set to `UNKNOWN` - * for all other types of unsafe content. - * - * @property {number} adult - * Likelihood of adult content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} - * - * @property {number} spoof - * Likelihood that an obvious modification was made to the original - * version to make it appear funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} - * - * @property {number} medical - * Likelihood of medical content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} - * - * @property {number} violent - * Likelihood of violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} - * - * @property {number} racy - * Likelihood of racy content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta1.Likelihood} - * - * @property {number} timeOffset - * Video time offset in microseconds. - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Bounding box. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @typedef BoundingBox - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.BoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const BoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face location. - * - * @property {Object} boundingBox - * Bounding box in a frame. - * - * This object should have the same structure as [BoundingBox]{@link google.cloud.videointelligence.v1beta1.BoundingBox} - * - * @property {number} timeOffset - * Video time offset in microseconds. - * - * @typedef FaceLocation - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.FaceLocation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const FaceLocation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face annotation. - * - * @property {string} thumbnail - * Thumbnail of a representative face view (in JPEG format). Encoding: base64. - * - * @property {Object[]} segments - * All locations where a face was detected. - * Faces are detected and tracked on a per-video basis - * (as opposed to across multiple videos). - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} - * - * @property {Object[]} locations - * Face locations at one frame per second. - * - * This object should have the same structure as [FaceLocation]{@link google.cloud.videointelligence.v1beta1.FaceLocation} - * - * @typedef FaceAnnotation - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object[]} labelAnnotations - * Label annotations. There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta1.LabelAnnotation} - * - * @property {Object[]} faceAnnotations - * Face annotations. There is exactly one element for each unique face. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1beta1.FaceAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta1.VideoSegment} - * - * @property {Object[]} safeSearchAnnotations - * Safe search annotations. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} - * - * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Approximate percentage processed thus far. - * Guaranteed to be 100 when fully processed. - * - * @property {Object} startTime - * Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1beta1 - * @see [google.cloud.videointelligence.v1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta1/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta1 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Human face detection and tracking. - */ - FACE_DETECTION: 2, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 3, - - /** - * Safe search detection. - */ - SAFE_SEARCH_DETECTION: 4 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta1 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Label level (scope). - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta1 - */ -const LabelLevel = { - - /** - * Unspecified. - */ - LABEL_LEVEL_UNSPECIFIED: 0, - - /** - * Video-level. Corresponds to the whole video. - */ - VIDEO_LEVEL: 1, - - /** - * Segment-level. Corresponds to one of `AnnotateSpec.segments`. - */ - SEGMENT_LEVEL: 2, - - /** - * Shot-level. Corresponds to a single shot (i.e. a series of frames - * without a major camera position or background change). - */ - SHOT_LEVEL: 3, - - /** - * Frame-level. Corresponds to a single video frame. - */ - FRAME_LEVEL: 4 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 4719aebdc91..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/longrunning/doc_operations.js +++ /dev/null @@ -1,63 +0,0 @@ -// 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-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index cdd2fc80e49..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// 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. 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-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 432ab6bb928..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,95 +0,0 @@ -// 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-videointelligence/src/v1beta1/index.js b/packages/google-cloud-videointelligence/src/v1beta1/index.js deleted file mode 100644 index b95e2466ed0..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/index.js +++ /dev/null @@ -1,19 +0,0 @@ -// 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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js deleted file mode 100644 index feb2ee54362..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client.js +++ /dev/null @@ -1,383 +0,0 @@ -// 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('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Service that implements Google Cloud Video Intelligence API. - * - * @class - * @memberof v1beta1 - */ -class VideoIntelligenceServiceClient { - /** - * Construct an instance of VideoIntelligenceServiceClient. - * - * @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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1beta1.AnnotateVideoResponse' - ); - const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1beta1.AnnotateVideoProgress' - ); - - this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( - this.operationsClient, - annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService', - 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.videointelligence.v1beta1.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService( - 'google.cloud.videointelligence.v1beta1.VideoIntelligenceService' - ) - : protos.google.cloud.videointelligence.v1beta1 - .VideoIntelligenceService, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const videoIntelligenceServiceStubMethods = ['annotateVideo']; - for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.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 'videointelligence.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'videointelligence.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']; - } - - /** - * 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 -- - // ------------------- - - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {number[]} request.features - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta1.Feature} - * @param {string} [request.inputContent] - * The video data bytes. Encoding: base64. If unset, the input video(s) - * should be specified via `input_uri`. If set, `input_uri` should be unset. - * @param {Object} [request.videoContext] - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta1.VideoContext} - * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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 videointelligence = require('@google-cloud/videointelligence'); - * - * const client = new videointelligence.v1beta1.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); - */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.annotateVideo(request, options, callback); - } -} - -module.exports = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json deleted file mode 100644 index 996b2ab5e30..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_client_config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "interfaces": { - "google.cloud.videointelligence.v1beta1.VideoIntelligenceService": { - "retry_codes": { - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "non_idempotent": [] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 2.5, - "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 120000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "AnnotateVideo": { - "timeout_millis": 60000, - "retry_codes_name": "idempotent", - "retry_params_name": "default" - } - } - } - } -} diff --git a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json b/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json deleted file mode 100644 index db0d6735d24..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta1/video_intelligence_service_proto_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "../../protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" -] diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index b3782bc6824..9f4b13c7324 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -8,7 +8,7 @@ gapic = gcp.GAPICGenerator() common_templates = gcp.CommonTemplates() -versions = ["v1", "v1beta1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] +versions = ["v1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] for version in versions: library = gapic.node_library( From 4565a82ba16c13d5e2e2280c37a30550b904d436 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 11 Oct 2019 16:19:34 -0700 Subject: [PATCH 210/418] fix: remove tests for the removed API (#306) --- .../test/gapic-v1beta1.js | 176 ------------------ 1 file changed, 176 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/test/gapic-v1beta1.js diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1beta1.js deleted file mode 100644 index 1aeb57cdca2..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta1.js +++ /dev/null @@ -1,176 +0,0 @@ -// 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 videointelligenceModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceModule.v1beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceModule.v1beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = - videointelligenceModule.v1beta1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( - {fallback: true} - ); - assert(client); - }); - - describe('annotateVideo', function() { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .annotateVideo(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes annotateVideo with error', done => { - const client = new videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock Grpc layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .annotateVideo(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 videointelligenceModule.v1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); - }); -}); - -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 c307e0b92381a0ab998d700bdbf4c4282e29c8de Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2019 16:32:27 -0700 Subject: [PATCH 211/418] chore: release 2.5.0 (#305) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- .../google-cloud-videointelligence/CHANGELOG.md | 13 +++++++++++++ .../google-cloud-videointelligence/package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index fd06ea03a91..d014260c34b 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,19 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.5.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.4.0...v2.5.0) (2019-10-11) + + +### Features + +* remove v1beta1 API support ([d8ffe44](https://www.github.com/googleapis/nodejs-video-intelligence/commit/d8ffe443ec7a967c4fef802b0b32b7c3a616f23d)) + + +### Bug Fixes + +* remove tests for the removed API ([#306](https://www.github.com/googleapis/nodejs-video-intelligence/issues/306)) ([4d2792c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/4d2792ca820b64aee4803cd3c34163ea3294739f)) +* use compatible version of google-gax ([82f7021](https://www.github.com/googleapis/nodejs-video-intelligence/commit/82f70216edc7e022f2d5c0589bcd7aee9b2293e9)) + ## [2.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.3.0...v2.4.0) (2019-09-30) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 83d5b07fb8b..296209c6726 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.4.0", + "version": "2.5.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { From 8e6c1ab5e1dc3b30c678c14da9573fb6a549e9c6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 12 Oct 2019 10:27:07 -0700 Subject: [PATCH 212/418] fix: update retry logic and remove unused protos (#307) --- .../CONTRIBUTING.md | 10 + .../v1/video_intelligence.proto | 245 +- .../protos/protos.d.ts | 1948 +------- .../protos/protos.js | 4392 ++--------------- .../protos/protos.json | 493 +- .../v1/doc_video_intelligence.js | 79 +- .../v1/video_intelligence_service_client.js | 36 +- ...eo_intelligence_service_client_config.json | 14 +- .../synth.metadata | 20 +- .../test/gapic-v1.js | 8 +- 10 files changed, 860 insertions(+), 6385 deletions(-) diff --git a/packages/google-cloud-videointelligence/CONTRIBUTING.md b/packages/google-cloud-videointelligence/CONTRIBUTING.md index 78aaa61b269..f6c4cf010e3 100644 --- a/packages/google-cloud-videointelligence/CONTRIBUTING.md +++ b/packages/google-cloud-videointelligence/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 diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 4c7a0ad131a..6611e9eb2c6 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -19,6 +19,7 @@ package google.cloud.videointelligence.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -35,19 +36,22 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { option (google.api.default_host) = "videointelligence.googleapis.com"; - option (google.api.oauth_scopes) = - "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) - returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/videos:annotate" body: "*" }; + option (google.api.method_signature) = "input_uri,features"; + option (google.longrunning.operation_info) = { + response_type: "AnnotateVideoResponse" + metadata_type: "AnnotateVideoProgress" + }; } } @@ -57,10 +61,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). A video - // URI may include wildcards in `object-id`, and thus identify multiple - // videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -70,24 +74,24 @@ message AnnotateVideoRequest { // If set, `input_uri` should be unset. bytes input_content = 6; - // Requested video annotation features. - repeated Feature features = 2; + // Required. Requested video annotation features. + repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED]; // Additional video context and/or feature-specific parameters. VideoContext video_context = 3; - // Optional location where the output (in JSON format) should be stored. + // Optional. Location where the output (in JSON format) should be stored. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). - string output_uri = 4; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional cloud region where annotation should take place. Supported cloud + // Optional. Cloud region where annotation should take place. Supported cloud // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region // is specified, a region will be determined based on video file location. - string location_id = 5; + string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } // Video context and/or feature-specific parameters. @@ -119,6 +123,69 @@ message VideoContext { ObjectTrackingConfig object_tracking_config = 13; } +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // Human face detection and tracking. + FACE_DETECTION = 4; + + // Speech transcription. + SPEECH_TRANSCRIPTION = 6; + + // OCR text detection and tracking. + TEXT_DETECTION = 7; + + // Object detection and tracking. + OBJECT_TRACKING = 9; +} + +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} + // Config for LABEL_DETECTION. message LabelDetectionConfig { // What labels should be detected with LABEL_DETECTION, in addition to @@ -161,9 +228,9 @@ message ShotChangeDetectionConfig { string model = 1; } -// Config for EXPLICIT_CONTENT_DETECTION. -message ExplicitContentDetectionConfig { - // Model to use for explicit content detection. +// Config for OBJECT_TRACKING. +message ObjectTrackingConfig { + // Model to use for object tracking. // Supported values: "builtin/stable" (the default if unset) and // "builtin/latest". string model = 1; @@ -180,9 +247,9 @@ message FaceDetectionConfig { bool include_bounding_boxes = 2; } -// Config for OBJECT_TRACKING. -message ObjectTrackingConfig { - // Model to use for object tracking. +// Config for EXPLICIT_CONTENT_DETECTION. +message ExplicitContentDetectionConfig { + // Model to use for explicit content detection. // Supported values: "builtin/stable" (the default if unset) and // "builtin/latest". string model = 1; @@ -344,8 +411,11 @@ message VideoAnnotationResults { repeated LabelAnnotation segment_label_annotations = 2; // Presence label annotations on video level or user specified segment level. - // There is exactly one element for each unique label. This will eventually - // get publicly exposed and the restriction will be removed. + // There is exactly one element for each unique label. Compared to the + // existing topical `segment_label_annotations`, this field presents more + // fine-grained, segment-level labels detected in video content and is made + // available only when the client sets `LabelDetectionConfig.model` to + // "builtin/latest" in the request. repeated LabelAnnotation segment_presence_label_annotations = 23; // Topical label annotations on shot level. @@ -353,8 +423,10 @@ message VideoAnnotationResults { repeated LabelAnnotation shot_label_annotations = 3; // Presence label annotations on shot level. There is exactly one element for - // each unique label. This will eventually get publicly exposed and the - // restriction will be removed. + // each unique label. Compared to the existing topical + // `shot_label_annotations`, this field presents more fine-grained, shot-level + // labels detected in video content and is made available only when the client + // sets `LabelDetectionConfig.model` to "builtin/latest" in the request. repeated LabelAnnotation shot_presence_label_annotations = 24; // Label annotations on frame level. @@ -429,72 +501,71 @@ message AnnotateVideoProgress { // Config for SPEECH_TRANSCRIPTION. message SpeechTranscriptionConfig { - // *Required* The language of the supplied audio as a + // Required. *Required* The language of the supplied audio as a // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. // Example: "en-US". // See [Language Support](https://cloud.google.com/speech/docs/languages) // for a list of the currently supported language codes. - string language_code = 1; + string language_code = 1 [(google.api.field_behavior) = REQUIRED]; - // *Optional* Maximum number of recognition hypotheses to be returned. + // Optional. Maximum number of recognition hypotheses to be returned. // Specifically, the maximum number of `SpeechRecognitionAlternative` messages // within each `SpeechTranscription`. The server may return fewer than // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will // return a maximum of one. If omitted, will return a maximum of one. - int32 max_alternatives = 2; + int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If set to `true`, the server will attempt to filter out + // Optional. If set to `true`, the server will attempt to filter out // profanities, replacing all but the initial character in each filtered word // with asterisks, e.g. "f***". If set to `false` or omitted, profanities // won't be filtered out. - bool filter_profanity = 3; + bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* A means to provide context to assist the speech recognition. - repeated SpeechContext speech_contexts = 4; + // Optional. A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // Optional. If 'true', adds punctuation to recognition result hypotheses. // This feature is only available in select languages. Setting this for // requests in other languages has no effect at all. The default 'false' value // does not add punctuation to result hypotheses. NOTE: "This is currently // offered as an experimental service, complimentary to all users. In the // future this may be exclusively available as a premium feature." - bool enable_automatic_punctuation = 5; + bool enable_automatic_punctuation = 5 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // Optional. For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. - repeated int32 audio_tracks = 6; + repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If 'true', enables speaker detection for each recognized word in + // Optional. If 'true', enables speaker detection for each recognized word in // the top alternative of the recognition result using a speaker_tag provided // in the WordInfo. // Note: When this is true, we send all the words from the beginning of the // audio for the top alternative in every consecutive responses. // This is done in order to improve our speaker tags as our models learn to // identify the speakers in the conversation over time. - bool enable_speaker_diarization = 7; + bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* - // If set, specifies the estimated number of speakers in the conversation. + // Optional. If set, specifies the estimated number of speakers in the conversation. // If not set, defaults to '2'. // Ignored unless enable_speaker_diarization is set to true. - int32 diarization_speaker_count = 8; + int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If `true`, the top result includes a list of words and the + // Optional. If `true`, the top result includes a list of words and the // confidence for those words. If `false`, no word-level confidence // information is returned. The default is `false`. - bool enable_word_confidence = 9; + bool enable_word_confidence = 9 [(google.api.field_behavior) = OPTIONAL]; } // Provides "hints" to the speech recognizer to favor specific words and phrases // in the results. message SpeechContext { - // *Optional* A list of strings containing words and phrases "hints" so that + // Optional. A list of strings containing words and phrases "hints" so that // the speech recognition is more likely to recognize them. This can be used // to improve the accuracy for specific words and phrases, for example, if // specific commands are typically spoken by the user. This can also be used // to add additional words to the vocabulary of the recognizer. See // [usage limits](https://cloud.google.com/speech/limits#content). - repeated string phrases = 1; + repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL]; } // A speech recognition result corresponding to a portion of the audio. @@ -505,11 +576,10 @@ message SpeechTranscription { // ranked by the recognizer. repeated SpeechRecognitionAlternative alternatives = 1; - // Output only. The - // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the - // language in this result. This language code was detected to have the most - // likelihood of being spoken in the audio. - string language_code = 2; + // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of + // the language in this result. This language code was detected to have the + // most likelihood of being spoken in the audio. + string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Alternative hypotheses (a.k.a. n-best list). @@ -523,12 +593,12 @@ message SpeechRecognitionAlternative { // This field is not guaranteed to be accurate and users should not rely on it // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. - float confidence = 2; + float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A list of word-specific information for each recognized word. // Note: When `enable_speaker_diarization` is true, you will see all the words // from the beginning of the audio. - repeated WordInfo words = 3; + repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Word-specific information for recognized words. Word information is only @@ -556,13 +626,13 @@ message WordInfo { // This field is not guaranteed to be accurate and users should not rely on it // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. - float confidence = 4; + float confidence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A distinct integer value is assigned for every speaker within // the audio. This field specifies which one of those speakers was detected to // have spoken this word. Value ranges from 1 up to diarization_speaker_count, // and is only set if speaker diarization is enabled. - int32 speaker_tag = 5; + int32 speaker_tag = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A vertex represents a 2D point in the image. @@ -673,66 +743,3 @@ message ObjectTrackingAnnotation { // Streaming mode: it can only be one ObjectTrackingFrame message in frames. repeated ObjectTrackingFrame frames = 2; } - -// Video annotation feature. -enum Feature { - // Unspecified. - FEATURE_UNSPECIFIED = 0; - - // Label detection. Detect objects, such as dog or flower. - LABEL_DETECTION = 1; - - // Shot change detection. - SHOT_CHANGE_DETECTION = 2; - - // Explicit content detection. - EXPLICIT_CONTENT_DETECTION = 3; - - // Human face detection and tracking. - FACE_DETECTION = 4; - - // Speech transcription. - SPEECH_TRANSCRIPTION = 6; - - // OCR text detection and tracking. - TEXT_DETECTION = 7; - - // Object detection and tracking. - OBJECT_TRACKING = 9; -} - -// Label detection mode. -enum LabelDetectionMode { - // Unspecified. - LABEL_DETECTION_MODE_UNSPECIFIED = 0; - - // Detect shot-level labels. - SHOT_MODE = 1; - - // Detect frame-level labels. - FRAME_MODE = 2; - - // Detect both shot-level and frame-level labels. - SHOT_AND_FRAME_MODE = 3; -} - -// Bucketized representation of likelihood. -enum Likelihood { - // Unspecified likelihood. - LIKELIHOOD_UNSPECIFIED = 0; - - // Very unlikely. - VERY_UNLIKELY = 1; - - // Unlikely. - UNLIKELY = 2; - - // Possible. - POSSIBLE = 3; - - // Likely. - LIKELY = 4; - - // Very likely. - VERY_LIKELY = 5; -} diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 23a2b967177..640360af1ea 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -308,6 +308,36 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + FACE_DETECTION = 4, + SPEECH_TRANSCRIPTION = 6, + TEXT_DETECTION = 7, + OBJECT_TRACKING = 9 + } + + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + /** Properties of a LabelDetectionConfig. */ interface ILabelDetectionConfig { @@ -512,91 +542,91 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of an ExplicitContentDetectionConfig. */ - interface IExplicitContentDetectionConfig { + /** Properties of an ObjectTrackingConfig. */ + interface IObjectTrackingConfig { - /** ExplicitContentDetectionConfig model */ + /** ObjectTrackingConfig model */ model?: (string|null); } - /** Represents an ExplicitContentDetectionConfig. */ - class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { + /** Represents an ObjectTrackingConfig. */ + class ObjectTrackingConfig implements IObjectTrackingConfig { /** - * Constructs a new ExplicitContentDetectionConfig. + * Constructs a new ObjectTrackingConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig); + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig); - /** ExplicitContentDetectionConfig model. */ + /** ObjectTrackingConfig model. */ public model: string; /** - * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * Creates a new ObjectTrackingConfig instance using the specified properties. * @param [properties] Properties to set - * @returns ExplicitContentDetectionConfig instance + * @returns ObjectTrackingConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig): google.cloud.videointelligence.v1.ObjectTrackingConfig; /** - * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. - * @param message ExplicitContentDetectionConfig message or plain object to encode + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. - * @param message ExplicitContentDetectionConfig message or plain object to encode + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * @param message ObjectTrackingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ExplicitContentDetectionConfig + * @returns ObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingConfig; /** - * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ExplicitContentDetectionConfig + * @returns ObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingConfig; /** - * Verifies an ExplicitContentDetectionConfig message. + * Verifies an ObjectTrackingConfig message. * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ExplicitContentDetectionConfig + * @returns ObjectTrackingConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingConfig; /** - * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. - * @param message ExplicitContentDetectionConfig + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * @param message ObjectTrackingConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ExplicitContentDetectionConfig to JSON. + * Converts this ObjectTrackingConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; @@ -698,91 +728,91 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of an ObjectTrackingConfig. */ - interface IObjectTrackingConfig { + /** Properties of an ExplicitContentDetectionConfig. */ + interface IExplicitContentDetectionConfig { - /** ObjectTrackingConfig model */ + /** ExplicitContentDetectionConfig model */ model?: (string|null); } - /** Represents an ObjectTrackingConfig. */ - class ObjectTrackingConfig implements IObjectTrackingConfig { + /** Represents an ExplicitContentDetectionConfig. */ + class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig { /** - * Constructs a new ObjectTrackingConfig. + * Constructs a new ExplicitContentDetectionConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig); + constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig); - /** ObjectTrackingConfig model. */ + /** ExplicitContentDetectionConfig model. */ public model: string; /** - * Creates a new ObjectTrackingConfig instance using the specified properties. + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. * @param [properties] Properties to set - * @returns ObjectTrackingConfig instance + * @returns ExplicitContentDetectionConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig): google.cloud.videointelligence.v1.ObjectTrackingConfig; + public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; /** - * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. - * @param message ObjectTrackingConfig message or plain object to encode + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. - * @param message ObjectTrackingConfig message or plain object to encode + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * @param message ExplicitContentDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ObjectTrackingConfig + * @returns ExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; /** - * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ObjectTrackingConfig + * @returns ExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; /** - * Verifies an ObjectTrackingConfig message. + * Verifies an ExplicitContentDetectionConfig message. * @param message Plain 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 ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ObjectTrackingConfig + * @returns ExplicitContentDetectionConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig; /** - * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. - * @param message ObjectTrackingConfig + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message ExplicitContentDetectionConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ObjectTrackingConfig to JSON. + * Converts this ExplicitContentDetectionConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; @@ -3335,1830 +3365,335 @@ export namespace google { public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns TextFrame - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextFrame; - - /** - * Creates a plain object from a TextFrame message. Also converts values to other types if specified. - * @param message TextFrame - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this TextFrame to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a TextAnnotation. */ - interface ITextAnnotation { - - /** TextAnnotation text */ - text?: (string|null); - - /** TextAnnotation segments */ - segments?: (google.cloud.videointelligence.v1.ITextSegment[]|null); - } - - /** Represents a TextAnnotation. */ - class TextAnnotation implements ITextAnnotation { - - /** - * Constructs a new TextAnnotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1.ITextAnnotation); - - /** TextAnnotation text. */ - public text: string; - - /** TextAnnotation segments. */ - public segments: google.cloud.videointelligence.v1.ITextSegment[]; - - /** - * Creates a new TextAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns TextAnnotation instance - */ - public static create(properties?: google.cloud.videointelligence.v1.ITextAnnotation): google.cloud.videointelligence.v1.TextAnnotation; - - /** - * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.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.videointelligence.v1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this TextAnnotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an ObjectTrackingFrame. */ - interface IObjectTrackingFrame { - - /** ObjectTrackingFrame normalizedBoundingBox */ - normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); - - /** ObjectTrackingFrame timeOffset */ - timeOffset?: (google.protobuf.IDuration|null); - } - - /** Represents an ObjectTrackingFrame. */ - class ObjectTrackingFrame implements IObjectTrackingFrame { - - /** - * Constructs a new ObjectTrackingFrame. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame); - - /** ObjectTrackingFrame normalizedBoundingBox. */ - public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); - - /** ObjectTrackingFrame timeOffset. */ - public timeOffset?: (google.protobuf.IDuration|null); - - /** - * Creates a new ObjectTrackingFrame instance using the specified properties. - * @param [properties] Properties to set - * @returns ObjectTrackingFrame instance - */ - public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame): google.cloud.videointelligence.v1.ObjectTrackingFrame; - - /** - * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. - * @param message ObjectTrackingFrame message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. - * @param message ObjectTrackingFrame message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ObjectTrackingFrame message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ObjectTrackingFrame - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingFrame; - - /** - * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ObjectTrackingFrame - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingFrame; - - /** - * Verifies an ObjectTrackingFrame message. - * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ObjectTrackingFrame - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingFrame; - - /** - * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. - * @param message ObjectTrackingFrame - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ObjectTrackingFrame to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an ObjectTrackingAnnotation. */ - interface IObjectTrackingAnnotation { - - /** ObjectTrackingAnnotation segment */ - segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); - - /** ObjectTrackingAnnotation trackId */ - trackId?: (number|Long|null); - - /** ObjectTrackingAnnotation entity */ - entity?: (google.cloud.videointelligence.v1.IEntity|null); - - /** ObjectTrackingAnnotation confidence */ - confidence?: (number|null); - - /** ObjectTrackingAnnotation frames */ - frames?: (google.cloud.videointelligence.v1.IObjectTrackingFrame[]|null); - } - - /** Represents an ObjectTrackingAnnotation. */ - class ObjectTrackingAnnotation implements IObjectTrackingAnnotation { - - /** - * Constructs a new ObjectTrackingAnnotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation); - - /** ObjectTrackingAnnotation segment. */ - public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); - - /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long); - - /** ObjectTrackingAnnotation entity. */ - public entity?: (google.cloud.videointelligence.v1.IEntity|null); - - /** ObjectTrackingAnnotation confidence. */ - public confidence: number; - - /** ObjectTrackingAnnotation frames. */ - public frames: google.cloud.videointelligence.v1.IObjectTrackingFrame[]; - - /** ObjectTrackingAnnotation trackInfo. */ - public trackInfo?: ("segment"|"trackId"); - - /** - * Creates a new ObjectTrackingAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns ObjectTrackingAnnotation instance - */ - public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; - - /** - * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. - * @param message ObjectTrackingAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. - * @param message ObjectTrackingAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ObjectTrackingAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; - - /** - * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ObjectTrackingAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; - - /** - * Verifies an ObjectTrackingAnnotation message. - * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ObjectTrackingAnnotation - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; - - /** - * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. - * @param message ObjectTrackingAnnotation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ObjectTrackingAnnotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Feature enum. */ - enum Feature { - FEATURE_UNSPECIFIED = 0, - LABEL_DETECTION = 1, - SHOT_CHANGE_DETECTION = 2, - EXPLICIT_CONTENT_DETECTION = 3, - FACE_DETECTION = 4, - SPEECH_TRANSCRIPTION = 6, - TEXT_DETECTION = 7, - OBJECT_TRACKING = 9 - } - - /** LabelDetectionMode enum. */ - enum LabelDetectionMode { - LABEL_DETECTION_MODE_UNSPECIFIED = 0, - SHOT_MODE = 1, - FRAME_MODE = 2, - SHOT_AND_FRAME_MODE = 3 - } - - /** Likelihood enum. */ - enum Likelihood { - LIKELIHOOD_UNSPECIFIED = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } - } - - /** Namespace v1beta1. */ - namespace v1beta1 { - - /** Represents a VideoIntelligenceService */ - class VideoIntelligenceService extends $protobuf.rpc.Service { - - /** - * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService; - - /** - * Calls AnnotateVideo. - * @param request AnnotateVideoRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Operation - */ - public annotateVideo(request: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1beta1.VideoIntelligenceService.AnnotateVideoCallback): void; - - /** - * Calls AnnotateVideo. - * @param request AnnotateVideoRequest message or plain object - * @returns Promise - */ - public annotateVideo(request: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest): Promise; - } - - namespace VideoIntelligenceService { - - /** - * Callback as used by {@link google.cloud.videointelligence.v1beta1.VideoIntelligenceService#annotateVideo}. - * @param error Error, if any - * @param [response] Operation - */ - type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; - } - - /** Properties of an AnnotateVideoRequest. */ - interface IAnnotateVideoRequest { - - /** AnnotateVideoRequest inputUri */ - inputUri?: (string|null); - - /** AnnotateVideoRequest inputContent */ - inputContent?: (string|null); - - /** AnnotateVideoRequest features */ - features?: (google.cloud.videointelligence.v1beta1.Feature[]|null); - - /** AnnotateVideoRequest videoContext */ - videoContext?: (google.cloud.videointelligence.v1beta1.IVideoContext|null); - - /** AnnotateVideoRequest outputUri */ - outputUri?: (string|null); - - /** AnnotateVideoRequest locationId */ - locationId?: (string|null); - } - - /** Represents an AnnotateVideoRequest. */ - class AnnotateVideoRequest implements IAnnotateVideoRequest { - - /** - * Constructs a new AnnotateVideoRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest); - - /** AnnotateVideoRequest inputUri. */ - public inputUri: string; - - /** AnnotateVideoRequest inputContent. */ - public inputContent: string; - - /** AnnotateVideoRequest features. */ - public features: google.cloud.videointelligence.v1beta1.Feature[]; - - /** AnnotateVideoRequest videoContext. */ - public videoContext?: (google.cloud.videointelligence.v1beta1.IVideoContext|null); - - /** AnnotateVideoRequest outputUri. */ - public outputUri: string; - - /** AnnotateVideoRequest locationId. */ - public locationId: string; - - /** - * Creates a new AnnotateVideoRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns AnnotateVideoRequest instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; - - /** - * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. - * @param message AnnotateVideoRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. - * @param message AnnotateVideoRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an AnnotateVideoRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns AnnotateVideoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; - - /** - * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns AnnotateVideoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; - - /** - * Verifies an AnnotateVideoRequest message. - * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns AnnotateVideoRequest - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; - - /** - * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. - * @param message AnnotateVideoRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this AnnotateVideoRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a VideoContext. */ - interface IVideoContext { - - /** VideoContext segments */ - segments?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); - - /** VideoContext labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1beta1.LabelDetectionMode|null); - - /** VideoContext stationaryCamera */ - stationaryCamera?: (boolean|null); - - /** VideoContext labelDetectionModel */ - labelDetectionModel?: (string|null); - - /** VideoContext faceDetectionModel */ - faceDetectionModel?: (string|null); - - /** VideoContext shotChangeDetectionModel */ - shotChangeDetectionModel?: (string|null); - - /** VideoContext safeSearchDetectionModel */ - safeSearchDetectionModel?: (string|null); - } - - /** Represents a VideoContext. */ - class VideoContext implements IVideoContext { - - /** - * Constructs a new VideoContext. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoContext); - - /** VideoContext segments. */ - public segments: google.cloud.videointelligence.v1beta1.IVideoSegment[]; - - /** VideoContext labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1beta1.LabelDetectionMode; - - /** VideoContext stationaryCamera. */ - public stationaryCamera: boolean; - - /** VideoContext labelDetectionModel. */ - public labelDetectionModel: string; - - /** VideoContext faceDetectionModel. */ - public faceDetectionModel: string; - - /** VideoContext shotChangeDetectionModel. */ - public shotChangeDetectionModel: string; - - /** VideoContext safeSearchDetectionModel. */ - public safeSearchDetectionModel: string; - - /** - * Creates a new VideoContext instance using the specified properties. - * @param [properties] Properties to set - * @returns VideoContext instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoContext): google.cloud.videointelligence.v1beta1.VideoContext; - - /** - * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. - * @param message VideoContext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. - * @param message VideoContext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a VideoContext message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns VideoContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoContext; - - /** - * Decodes a VideoContext message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns VideoContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoContext; - - /** - * Verifies a VideoContext message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns VideoContext - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoContext; - - /** - * Creates a plain object from a VideoContext message. Also converts values to other types if specified. - * @param message VideoContext - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this VideoContext to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a VideoSegment. */ - interface IVideoSegment { - - /** VideoSegment startTimeOffset */ - startTimeOffset?: (number|Long|null); - - /** VideoSegment endTimeOffset */ - endTimeOffset?: (number|Long|null); - } - - /** Represents a VideoSegment. */ - class VideoSegment implements IVideoSegment { - - /** - * Constructs a new VideoSegment. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoSegment); - - /** VideoSegment startTimeOffset. */ - public startTimeOffset: (number|Long); - - /** VideoSegment endTimeOffset. */ - public endTimeOffset: (number|Long); - - /** - * Creates a new VideoSegment instance using the specified properties. - * @param [properties] Properties to set - * @returns VideoSegment instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoSegment): google.cloud.videointelligence.v1beta1.VideoSegment; - - /** - * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. - * @param message VideoSegment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. - * @param message VideoSegment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a VideoSegment message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns VideoSegment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoSegment; - - /** - * Decodes a VideoSegment message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns VideoSegment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoSegment; - - /** - * Verifies a VideoSegment message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns VideoSegment - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoSegment; - - /** - * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. - * @param message VideoSegment - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this VideoSegment to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a LabelLocation. */ - interface ILabelLocation { - - /** LabelLocation segment */ - segment?: (google.cloud.videointelligence.v1beta1.IVideoSegment|null); - - /** LabelLocation confidence */ - confidence?: (number|null); - - /** LabelLocation level */ - level?: (google.cloud.videointelligence.v1beta1.LabelLevel|null); - } - - /** Represents a LabelLocation. */ - class LabelLocation implements ILabelLocation { - - /** - * Constructs a new LabelLocation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.ILabelLocation); - - /** LabelLocation segment. */ - public segment?: (google.cloud.videointelligence.v1beta1.IVideoSegment|null); - - /** LabelLocation confidence. */ - public confidence: number; - - /** LabelLocation level. */ - public level: google.cloud.videointelligence.v1beta1.LabelLevel; - - /** - * Creates a new LabelLocation instance using the specified properties. - * @param [properties] Properties to set - * @returns LabelLocation instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.ILabelLocation): google.cloud.videointelligence.v1beta1.LabelLocation; - - /** - * Encodes the specified LabelLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. - * @param message LabelLocation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.ILabelLocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LabelLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. - * @param message LabelLocation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.ILabelLocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LabelLocation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LabelLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.LabelLocation; - - /** - * Decodes a LabelLocation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LabelLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.LabelLocation; - - /** - * Verifies a LabelLocation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LabelLocation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LabelLocation - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.LabelLocation; - - /** - * Creates a plain object from a LabelLocation message. Also converts values to other types if specified. - * @param message LabelLocation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.LabelLocation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LabelLocation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a LabelAnnotation. */ - interface ILabelAnnotation { - - /** LabelAnnotation description */ - description?: (string|null); - - /** LabelAnnotation languageCode */ - languageCode?: (string|null); - - /** LabelAnnotation locations */ - locations?: (google.cloud.videointelligence.v1beta1.ILabelLocation[]|null); - } - - /** Represents a LabelAnnotation. */ - class LabelAnnotation implements ILabelAnnotation { - - /** - * Constructs a new LabelAnnotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.ILabelAnnotation); - - /** LabelAnnotation description. */ - public description: string; - - /** LabelAnnotation languageCode. */ - public languageCode: string; - - /** LabelAnnotation locations. */ - public locations: google.cloud.videointelligence.v1beta1.ILabelLocation[]; - - /** - * Creates a new LabelAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns LabelAnnotation instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.ILabelAnnotation): google.cloud.videointelligence.v1beta1.LabelAnnotation; - - /** - * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. - * @param message LabelAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. - * @param message LabelAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LabelAnnotation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LabelAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.LabelAnnotation; - - /** - * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LabelAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.LabelAnnotation; - - /** - * Verifies a LabelAnnotation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LabelAnnotation - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.LabelAnnotation; - - /** - * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. - * @param message LabelAnnotation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LabelAnnotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a SafeSearchAnnotation. */ - interface ISafeSearchAnnotation { - - /** SafeSearchAnnotation adult */ - adult?: (google.cloud.videointelligence.v1beta1.Likelihood|null); - - /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.videointelligence.v1beta1.Likelihood|null); - - /** SafeSearchAnnotation medical */ - medical?: (google.cloud.videointelligence.v1beta1.Likelihood|null); - - /** SafeSearchAnnotation violent */ - violent?: (google.cloud.videointelligence.v1beta1.Likelihood|null); - - /** SafeSearchAnnotation racy */ - racy?: (google.cloud.videointelligence.v1beta1.Likelihood|null); - - /** SafeSearchAnnotation timeOffset */ - timeOffset?: (number|Long|null); - } - - /** Represents a SafeSearchAnnotation. */ - class SafeSearchAnnotation implements ISafeSearchAnnotation { - - /** - * Constructs a new SafeSearchAnnotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation); - - /** SafeSearchAnnotation adult. */ - public adult: google.cloud.videointelligence.v1beta1.Likelihood; - - /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.videointelligence.v1beta1.Likelihood; - - /** SafeSearchAnnotation medical. */ - public medical: google.cloud.videointelligence.v1beta1.Likelihood; - - /** SafeSearchAnnotation violent. */ - public violent: google.cloud.videointelligence.v1beta1.Likelihood; - - /** SafeSearchAnnotation racy. */ - public racy: google.cloud.videointelligence.v1beta1.Likelihood; - - /** SafeSearchAnnotation timeOffset. */ - public timeOffset: (number|Long); - - /** - * Creates a new SafeSearchAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns SafeSearchAnnotation instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation): google.cloud.videointelligence.v1beta1.SafeSearchAnnotation; - - /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SafeSearchAnnotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoundingBox. */ - interface IBoundingBox { - - /** BoundingBox left */ - left?: (number|null); - - /** BoundingBox right */ - right?: (number|null); - - /** BoundingBox bottom */ - bottom?: (number|null); - - /** BoundingBox top */ - top?: (number|null); - } - - /** Represents a BoundingBox. */ - class BoundingBox implements IBoundingBox { - - /** - * Constructs a new BoundingBox. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IBoundingBox); - - /** BoundingBox left. */ - public left: number; - - /** BoundingBox right. */ - public right: number; - - /** BoundingBox bottom. */ - public bottom: number; - - /** BoundingBox top. */ - public top: number; - - /** - * Creates a new BoundingBox instance using the specified properties. - * @param [properties] Properties to set - * @returns BoundingBox instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IBoundingBox): google.cloud.videointelligence.v1beta1.BoundingBox; - - /** - * Encodes the specified BoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. - * @param message BoundingBox message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. - * @param message BoundingBox message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoundingBox message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoundingBox - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.BoundingBox; - - /** - * Decodes a BoundingBox message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoundingBox - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.BoundingBox; - - /** - * Verifies a BoundingBox message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoundingBox message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoundingBox - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.BoundingBox; - - /** - * Creates a plain object from a BoundingBox message. Also converts values to other types if specified. - * @param message BoundingBox - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.BoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoundingBox to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a FaceLocation. */ - interface IFaceLocation { - - /** FaceLocation boundingBox */ - boundingBox?: (google.cloud.videointelligence.v1beta1.IBoundingBox|null); - - /** FaceLocation timeOffset */ - timeOffset?: (number|Long|null); - } - - /** Represents a FaceLocation. */ - class FaceLocation implements IFaceLocation { - - /** - * Constructs a new FaceLocation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IFaceLocation); - - /** FaceLocation boundingBox. */ - public boundingBox?: (google.cloud.videointelligence.v1beta1.IBoundingBox|null); - - /** FaceLocation timeOffset. */ - public timeOffset: (number|Long); - - /** - * Creates a new FaceLocation instance using the specified properties. - * @param [properties] Properties to set - * @returns FaceLocation instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IFaceLocation): google.cloud.videointelligence.v1beta1.FaceLocation; - - /** - * Encodes the specified FaceLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. - * @param message FaceLocation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IFaceLocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FaceLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. - * @param message FaceLocation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IFaceLocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FaceLocation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FaceLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.FaceLocation; - - /** - * Decodes a FaceLocation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FaceLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.FaceLocation; - - /** - * Verifies a FaceLocation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FaceLocation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FaceLocation - */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.FaceLocation; - - /** - * Creates a plain object from a FaceLocation message. Also converts values to other types if specified. - * @param message FaceLocation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.videointelligence.v1beta1.FaceLocation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FaceLocation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a FaceAnnotation. */ - interface IFaceAnnotation { - - /** FaceAnnotation thumbnail */ - thumbnail?: (string|null); - - /** FaceAnnotation segments */ - segments?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); - - /** FaceAnnotation locations */ - locations?: (google.cloud.videointelligence.v1beta1.IFaceLocation[]|null); - } - - /** Represents a FaceAnnotation. */ - class FaceAnnotation implements IFaceAnnotation { - - /** - * Constructs a new FaceAnnotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IFaceAnnotation); - - /** FaceAnnotation thumbnail. */ - public thumbnail: string; - - /** FaceAnnotation segments. */ - public segments: google.cloud.videointelligence.v1beta1.IVideoSegment[]; - - /** FaceAnnotation locations. */ - public locations: google.cloud.videointelligence.v1beta1.IFaceLocation[]; - - /** - * Creates a new FaceAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns FaceAnnotation instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IFaceAnnotation): google.cloud.videointelligence.v1beta1.FaceAnnotation; - - /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FaceAnnotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a VideoAnnotationResults. */ - interface IVideoAnnotationResults { - - /** VideoAnnotationResults inputUri */ - inputUri?: (string|null); - - /** VideoAnnotationResults labelAnnotations */ - labelAnnotations?: (google.cloud.videointelligence.v1beta1.ILabelAnnotation[]|null); - - /** VideoAnnotationResults faceAnnotations */ - faceAnnotations?: (google.cloud.videointelligence.v1beta1.IFaceAnnotation[]|null); - - /** VideoAnnotationResults shotAnnotations */ - shotAnnotations?: (google.cloud.videointelligence.v1beta1.IVideoSegment[]|null); - - /** VideoAnnotationResults safeSearchAnnotations */ - safeSearchAnnotations?: (google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation[]|null); - - /** VideoAnnotationResults error */ - error?: (google.rpc.IStatus|null); - } - - /** Represents a VideoAnnotationResults. */ - class VideoAnnotationResults implements IVideoAnnotationResults { - - /** - * Constructs a new VideoAnnotationResults. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults); - - /** VideoAnnotationResults inputUri. */ - public inputUri: string; - - /** VideoAnnotationResults labelAnnotations. */ - public labelAnnotations: google.cloud.videointelligence.v1beta1.ILabelAnnotation[]; - - /** VideoAnnotationResults faceAnnotations. */ - public faceAnnotations: google.cloud.videointelligence.v1beta1.IFaceAnnotation[]; - - /** VideoAnnotationResults shotAnnotations. */ - public shotAnnotations: google.cloud.videointelligence.v1beta1.IVideoSegment[]; - - /** VideoAnnotationResults safeSearchAnnotations. */ - public safeSearchAnnotations: google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation[]; - - /** VideoAnnotationResults error. */ - public error?: (google.rpc.IStatus|null); - - /** - * Creates a new VideoAnnotationResults instance using the specified properties. - * @param [properties] Properties to set - * @returns VideoAnnotationResults instance - */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; - - /** - * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. - * @param message VideoAnnotationResults message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. - * @param message VideoAnnotationResults message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns VideoAnnotationResults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; - - /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns VideoAnnotationResults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; - - /** - * Verifies a VideoAnnotationResults message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * Creates a TextFrame message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns VideoAnnotationResults + * @returns TextFrame */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoAnnotationResults; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextFrame; /** - * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. - * @param message VideoAnnotationResults + * Creates a plain object from a TextFrame message. Also converts values to other types if specified. + * @param message TextFrame * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this VideoAnnotationResults to JSON. + * Converts this TextFrame to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateVideoResponse. */ - interface IAnnotateVideoResponse { + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { - /** AnnotateVideoResponse annotationResults */ - annotationResults?: (google.cloud.videointelligence.v1beta1.IVideoAnnotationResults[]|null); + /** TextAnnotation text */ + text?: (string|null); + + /** TextAnnotation segments */ + segments?: (google.cloud.videointelligence.v1.ITextSegment[]|null); } - /** Represents an AnnotateVideoResponse. */ - class AnnotateVideoResponse implements IAnnotateVideoResponse { + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { /** - * Constructs a new AnnotateVideoResponse. + * Constructs a new TextAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse); + constructor(properties?: google.cloud.videointelligence.v1.ITextAnnotation); - /** AnnotateVideoResponse annotationResults. */ - public annotationResults: google.cloud.videointelligence.v1beta1.IVideoAnnotationResults[]; + /** TextAnnotation text. */ + public text: string; + + /** TextAnnotation segments. */ + public segments: google.cloud.videointelligence.v1.ITextSegment[]; /** - * Creates a new AnnotateVideoResponse instance using the specified properties. + * Creates a new TextAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateVideoResponse instance + * @returns TextAnnotation instance */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + public static create(properties?: google.cloud.videointelligence.v1.ITextAnnotation): google.cloud.videointelligence.v1.TextAnnotation; /** - * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. - * @param message AnnotateVideoResponse message or plain object to encode + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. - * @param message AnnotateVideoResponse message or plain object to encode + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.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.videointelligence.v1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateVideoResponse message from the specified reader or buffer. + * 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 AnnotateVideoResponse + * @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.videointelligence.v1beta1.AnnotateVideoResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextAnnotation; /** - * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateVideoResponse + * @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.videointelligence.v1beta1.AnnotateVideoResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextAnnotation; /** - * Verifies an AnnotateVideoResponse message. + * 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 an AnnotateVideoResponse 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. * @param object Plain object - * @returns AnnotateVideoResponse + * @returns TextAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextAnnotation; /** - * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. - * @param message AnnotateVideoResponse + * 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.videointelligence.v1beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateVideoResponse to JSON. + * Converts this TextAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a VideoAnnotationProgress. */ - interface IVideoAnnotationProgress { - - /** VideoAnnotationProgress inputUri */ - inputUri?: (string|null); - - /** VideoAnnotationProgress progressPercent */ - progressPercent?: (number|null); + /** Properties of an ObjectTrackingFrame. */ + interface IObjectTrackingFrame { - /** VideoAnnotationProgress startTime */ - startTime?: (google.protobuf.ITimestamp|null); + /** ObjectTrackingFrame normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); - /** VideoAnnotationProgress updateTime */ - updateTime?: (google.protobuf.ITimestamp|null); + /** ObjectTrackingFrame timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); } - /** Represents a VideoAnnotationProgress. */ - class VideoAnnotationProgress implements IVideoAnnotationProgress { + /** Represents an ObjectTrackingFrame. */ + class ObjectTrackingFrame implements IObjectTrackingFrame { /** - * Constructs a new VideoAnnotationProgress. + * Constructs a new ObjectTrackingFrame. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress); - - /** VideoAnnotationProgress inputUri. */ - public inputUri: string; - - /** VideoAnnotationProgress progressPercent. */ - public progressPercent: number; + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame); - /** VideoAnnotationProgress startTime. */ - public startTime?: (google.protobuf.ITimestamp|null); + /** ObjectTrackingFrame normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); - /** VideoAnnotationProgress updateTime. */ - public updateTime?: (google.protobuf.ITimestamp|null); + /** ObjectTrackingFrame timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); /** - * Creates a new VideoAnnotationProgress instance using the specified properties. + * Creates a new ObjectTrackingFrame instance using the specified properties. * @param [properties] Properties to set - * @returns VideoAnnotationProgress instance + * @returns ObjectTrackingFrame instance */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame): google.cloud.videointelligence.v1.ObjectTrackingFrame; /** - * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. - * @param message VideoAnnotationProgress message or plain object to encode + * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. - * @param message VideoAnnotationProgress message or plain object to encode + * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages. + * @param message ObjectTrackingFrame message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a VideoAnnotationProgress message from the specified reader or buffer. + * Decodes an ObjectTrackingFrame message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns VideoAnnotationProgress + * @returns ObjectTrackingFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingFrame; /** - * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. + * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns VideoAnnotationProgress + * @returns ObjectTrackingFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingFrame; /** - * Verifies a VideoAnnotationProgress message. + * Verifies an ObjectTrackingFrame message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns VideoAnnotationProgress + * @returns ObjectTrackingFrame */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.VideoAnnotationProgress; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingFrame; /** - * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. - * @param message VideoAnnotationProgress + * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified. + * @param message ObjectTrackingFrame * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this VideoAnnotationProgress to JSON. + * Converts this ObjectTrackingFrame to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateVideoProgress. */ - interface IAnnotateVideoProgress { + /** Properties of an ObjectTrackingAnnotation. */ + interface IObjectTrackingAnnotation { - /** AnnotateVideoProgress annotationProgress */ - annotationProgress?: (google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress[]|null); + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId */ + trackId?: (number|Long|null); + + /** ObjectTrackingAnnotation entity */ + entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** ObjectTrackingAnnotation confidence */ + confidence?: (number|null); + + /** ObjectTrackingAnnotation frames */ + frames?: (google.cloud.videointelligence.v1.IObjectTrackingFrame[]|null); } - /** Represents an AnnotateVideoProgress. */ - class AnnotateVideoProgress implements IAnnotateVideoProgress { + /** Represents an ObjectTrackingAnnotation. */ + class ObjectTrackingAnnotation implements IObjectTrackingAnnotation { /** - * Constructs a new AnnotateVideoProgress. + * Constructs a new ObjectTrackingAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress); + constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation); - /** AnnotateVideoProgress annotationProgress. */ - public annotationProgress: google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress[]; + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId. */ + public trackId: (number|Long); + + /** ObjectTrackingAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** ObjectTrackingAnnotation confidence. */ + public confidence: number; + + /** ObjectTrackingAnnotation frames. */ + public frames: google.cloud.videointelligence.v1.IObjectTrackingFrame[]; + + /** ObjectTrackingAnnotation trackInfo. */ + public trackInfo?: ("segment"|"trackId"); /** - * Creates a new AnnotateVideoProgress instance using the specified properties. + * Creates a new ObjectTrackingAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateVideoProgress instance + * @returns ObjectTrackingAnnotation instance */ - public static create(properties?: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; /** - * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. - * @param message AnnotateVideoProgress message or plain object to encode + * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. - * @param message AnnotateVideoProgress message or plain object to encode + * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages. + * @param message ObjectTrackingAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateVideoProgress message from the specified reader or buffer. + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AnnotateVideoProgress + * @returns ObjectTrackingAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; /** - * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. + * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateVideoProgress + * @returns ObjectTrackingAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; /** - * Verifies an AnnotateVideoProgress message. + * Verifies an ObjectTrackingAnnotation message. * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AnnotateVideoProgress + * @returns ObjectTrackingAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingAnnotation; /** - * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. - * @param message AnnotateVideoProgress + * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified. + * @param message ObjectTrackingAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateVideoProgress to JSON. + * Converts this ObjectTrackingAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - - /** Feature enum. */ - enum Feature { - FEATURE_UNSPECIFIED = 0, - LABEL_DETECTION = 1, - FACE_DETECTION = 2, - SHOT_CHANGE_DETECTION = 3, - SAFE_SEARCH_DETECTION = 4 - } - - /** LabelLevel enum. */ - enum LabelLevel { - LABEL_LEVEL_UNSPECIFIED = 0, - VIDEO_LEVEL = 1, - SEGMENT_LEVEL = 2, - SHOT_LEVEL = 3, - FRAME_LEVEL = 4 - } - - /** LabelDetectionMode enum. */ - enum LabelDetectionMode { - LABEL_DETECTION_MODE_UNSPECIFIED = 0, - SHOT_MODE = 1, - FRAME_MODE = 2, - SHOT_AND_FRAME_MODE = 3 - } - - /** Likelihood enum. */ - enum Likelihood { - UNKNOWN = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } } /** Namespace v1beta2. */ @@ -17277,6 +15812,16 @@ export namespace google { */ 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 + } } /** Namespace protobuf. */ @@ -19129,6 +17674,9 @@ export namespace google { /** FieldOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FieldOptions .google.api.fieldBehavior */ + ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null); } /** Represents a FieldOptions. */ diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 45af5d293a9..76bf08c40ee 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -901,6 +901,72 @@ return VideoContext; })(); + /** + * Feature enum. + * @name google.cloud.videointelligence.v1.Feature + * @enum {string} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} FACE_DETECTION=4 FACE_DETECTION value + * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value + * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value + * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + */ + v1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "FACE_DETECTION"] = 4; + values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; + values[valuesById[7] = "TEXT_DETECTION"] = 7; + values[valuesById[9] = "OBJECT_TRACKING"] = 9; + return values; + })(); + + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1.LabelDetectionMode + * @enum {string} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1.Likelihood + * @enum {string} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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.LabelDetectionConfig = (function() { /** @@ -1387,24 +1453,24 @@ return ShotChangeDetectionConfig; })(); - v1.ExplicitContentDetectionConfig = (function() { + v1.ObjectTrackingConfig = (function() { /** - * Properties of an ExplicitContentDetectionConfig. + * Properties of an ObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1 - * @interface IExplicitContentDetectionConfig - * @property {string|null} [model] ExplicitContentDetectionConfig model + * @interface IObjectTrackingConfig + * @property {string|null} [model] ObjectTrackingConfig model */ /** - * Constructs a new ExplicitContentDetectionConfig. + * Constructs a new ObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1 - * @classdesc Represents an ExplicitContentDetectionConfig. - * @implements IExplicitContentDetectionConfig + * @classdesc Represents an ObjectTrackingConfig. + * @implements IObjectTrackingConfig * @constructor - * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set */ - function ExplicitContentDetectionConfig(properties) { + function ObjectTrackingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -1412,35 +1478,35 @@ } /** - * ExplicitContentDetectionConfig model. + * ObjectTrackingConfig model. * @member {string} model - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @instance */ - ExplicitContentDetectionConfig.prototype.model = ""; + ObjectTrackingConfig.prototype.model = ""; /** - * Creates a new ExplicitContentDetectionConfig instance using the specified properties. + * Creates a new ObjectTrackingConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig instance */ - ExplicitContentDetectionConfig.create = function create(properties) { - return new ExplicitContentDetectionConfig(properties); + ObjectTrackingConfig.create = function create(properties) { + return new ObjectTrackingConfig(properties); }; /** - * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentDetectionConfig.encode = function encode(message, writer) { + ObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.model != null && message.hasOwnProperty("model")) @@ -1449,33 +1515,33 @@ }; /** - * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. + * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + ObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. + * Decodes an ObjectTrackingConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentDetectionConfig.decode = function decode(reader, length) { + ObjectTrackingConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -1491,30 +1557,30 @@ }; /** - * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + ObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ExplicitContentDetectionConfig message. + * Verifies an ObjectTrackingConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExplicitContentDetectionConfig.verify = function verify(message) { + ObjectTrackingConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.model != null && message.hasOwnProperty("model")) @@ -1524,32 +1590,32 @@ }; /** - * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig */ - ExplicitContentDetectionConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig) + ObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingConfig) return object; - var message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); + var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); if (object.model != null) message.model = String(object.model); return message; }; /** - * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. + * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig + * @param {google.cloud.videointelligence.v1.ObjectTrackingConfig} message ObjectTrackingConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ExplicitContentDetectionConfig.toObject = function toObject(message, options) { + ObjectTrackingConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -1561,17 +1627,17 @@ }; /** - * Converts this ExplicitContentDetectionConfig to JSON. + * Converts this ObjectTrackingConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig * @instance * @returns {Object.} JSON object */ - ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + ObjectTrackingConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ExplicitContentDetectionConfig; + return ObjectTrackingConfig; })(); v1.FaceDetectionConfig = (function() { @@ -1784,24 +1850,24 @@ return FaceDetectionConfig; })(); - v1.ObjectTrackingConfig = (function() { + v1.ExplicitContentDetectionConfig = (function() { /** - * Properties of an ObjectTrackingConfig. + * Properties of an ExplicitContentDetectionConfig. * @memberof google.cloud.videointelligence.v1 - * @interface IObjectTrackingConfig - * @property {string|null} [model] ObjectTrackingConfig model + * @interface IExplicitContentDetectionConfig + * @property {string|null} [model] ExplicitContentDetectionConfig model */ /** - * Constructs a new ObjectTrackingConfig. + * Constructs a new ExplicitContentDetectionConfig. * @memberof google.cloud.videointelligence.v1 - * @classdesc Represents an ObjectTrackingConfig. - * @implements IObjectTrackingConfig + * @classdesc Represents an ExplicitContentDetectionConfig. + * @implements IExplicitContentDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set */ - function ObjectTrackingConfig(properties) { + function ExplicitContentDetectionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -1809,35 +1875,35 @@ } /** - * ObjectTrackingConfig model. + * ExplicitContentDetectionConfig model. * @member {string} model - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @instance */ - ObjectTrackingConfig.prototype.model = ""; + ExplicitContentDetectionConfig.prototype.model = ""; /** - * Creates a new ObjectTrackingConfig instance using the specified properties. + * Creates a new ExplicitContentDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig instance + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance */ - ObjectTrackingConfig.create = function create(properties) { - return new ObjectTrackingConfig(properties); + ExplicitContentDetectionConfig.create = function create(properties) { + return new ExplicitContentDetectionConfig(properties); }; /** - * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ObjectTrackingConfig.encode = function encode(message, writer) { + ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.model != null && message.hasOwnProperty("model")) @@ -1846,33 +1912,33 @@ }; /** - * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages. + * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ObjectTrackingConfig message from the specified reader or buffer. + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ObjectTrackingConfig.decode = function decode(reader, length) { + ExplicitContentDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -1888,30 +1954,30 @@ }; /** - * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited. + * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ObjectTrackingConfig message. + * Verifies an ExplicitContentDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ObjectTrackingConfig.verify = function verify(message) { + ExplicitContentDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.model != null && message.hasOwnProperty("model")) @@ -1921,32 +1987,32 @@ }; /** - * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig */ - ObjectTrackingConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingConfig) + ExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig) return object; - var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig(); + var message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig(); if (object.model != null) message.model = String(object.model); return message; }; /** - * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified. + * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1.ObjectTrackingConfig} message ObjectTrackingConfig + * @param {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ObjectTrackingConfig.toObject = function toObject(message, options) { + ExplicitContentDetectionConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -1958,17 +2024,17 @@ }; /** - * Converts this ObjectTrackingConfig to JSON. + * Converts this ExplicitContentDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig * @instance * @returns {Object.} JSON object */ - ObjectTrackingConfig.prototype.toJSON = function toJSON() { + ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ObjectTrackingConfig; + return ExplicitContentDetectionConfig; })(); v1.TextDetectionConfig = (function() { @@ -9374,4017 +9440,7 @@ return ObjectTrackingAnnotation; })(); - /** - * Feature enum. - * @name google.cloud.videointelligence.v1.Feature - * @enum {string} - * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value - * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value - * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value - * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value - * @property {number} FACE_DETECTION=4 FACE_DETECTION value - * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value - * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value - * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value - */ - v1.Feature = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; - values[valuesById[1] = "LABEL_DETECTION"] = 1; - values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; - values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; - values[valuesById[4] = "FACE_DETECTION"] = 4; - values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; - values[valuesById[7] = "TEXT_DETECTION"] = 7; - values[valuesById[9] = "OBJECT_TRACKING"] = 9; - return values; - })(); - - /** - * LabelDetectionMode enum. - * @name google.cloud.videointelligence.v1.LabelDetectionMode - * @enum {string} - * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value - * @property {number} SHOT_MODE=1 SHOT_MODE value - * @property {number} FRAME_MODE=2 FRAME_MODE value - * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value - */ - v1.LabelDetectionMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOT_MODE"] = 1; - values[valuesById[2] = "FRAME_MODE"] = 2; - values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; - return values; - })(); - - /** - * Likelihood enum. - * @name google.cloud.videointelligence.v1.Likelihood - * @enum {string} - * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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 v1; - })(); - - videointelligence.v1beta1 = (function() { - - /** - * Namespace v1beta1. - * @memberof google.cloud.videointelligence - * @namespace - */ - var v1beta1 = {}; - - v1beta1.VideoIntelligenceService = (function() { - - /** - * Constructs a new VideoIntelligenceService service. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a VideoIntelligenceService - * @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 VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService; - - /** - * Creates new VideoIntelligenceService service using the specified rpc implementation. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService - * @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 {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed. - */ - VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.cloud.videointelligence.v1beta1.VideoIntelligenceService#annotateVideo}. - * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService - * @typedef AnnotateVideoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation - */ - - /** - * Calls AnnotateVideo. - * @function annotateVideo - * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService - * @instance - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object - * @param {google.cloud.videointelligence.v1beta1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) { - return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AnnotateVideo" }); - - /** - * Calls AnnotateVideo. - * @function annotateVideo - * @memberof google.cloud.videointelligence.v1beta1.VideoIntelligenceService - * @instance - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return VideoIntelligenceService; - })(); - - v1beta1.AnnotateVideoRequest = (function() { - - /** - * Properties of an AnnotateVideoRequest. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IAnnotateVideoRequest - * @property {string|null} [inputUri] AnnotateVideoRequest inputUri - * @property {string|null} [inputContent] AnnotateVideoRequest inputContent - * @property {Array.|null} [features] AnnotateVideoRequest features - * @property {google.cloud.videointelligence.v1beta1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext - * @property {string|null} [outputUri] AnnotateVideoRequest outputUri - * @property {string|null} [locationId] AnnotateVideoRequest locationId - */ - - /** - * Constructs a new AnnotateVideoRequest. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents an AnnotateVideoRequest. - * @implements IAnnotateVideoRequest - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest=} [properties] Properties to set - */ - function AnnotateVideoRequest(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]]; - } - - /** - * AnnotateVideoRequest inputUri. - * @member {string} inputUri - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.inputUri = ""; - - /** - * AnnotateVideoRequest inputContent. - * @member {string} inputContent - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.inputContent = ""; - - /** - * AnnotateVideoRequest features. - * @member {Array.} features - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.features = $util.emptyArray; - - /** - * AnnotateVideoRequest videoContext. - * @member {google.cloud.videointelligence.v1beta1.IVideoContext|null|undefined} videoContext - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.videoContext = null; - - /** - * AnnotateVideoRequest outputUri. - * @member {string} outputUri - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.outputUri = ""; - - /** - * AnnotateVideoRequest locationId. - * @member {string} locationId - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - */ - AnnotateVideoRequest.prototype.locationId = ""; - - /** - * Creates a new AnnotateVideoRequest instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest instance - */ - AnnotateVideoRequest.create = function create(properties) { - return new AnnotateVideoRequest(properties); - }; - - /** - * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.features != null && message.features.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.features.length; ++i) - writer.int32(message.features[i]); - writer.ldelim(); - } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) - $root.google.cloud.videointelligence.v1beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.inputContent); - return writer; - }; - - /** - * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AnnotateVideoRequest message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.string(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AnnotateVideoRequest message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AnnotateVideoRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - if (!$util.isString(message.inputUri)) - return "inputUri: string expected"; - if (message.inputContent != null && message.hasOwnProperty("inputContent")) - if (!$util.isString(message.inputContent)) - return "inputContent: string expected"; - 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) - switch (message.features[i]) { - default: - return "features: enum value[] expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoContext.verify(message.videoContext); - if (error) - return "videoContext." + error; - } - if (message.outputUri != null && message.hasOwnProperty("outputUri")) - if (!$util.isString(message.outputUri)) - return "outputUri: string expected"; - if (message.locationId != null && message.hasOwnProperty("locationId")) - if (!$util.isString(message.locationId)) - return "locationId: string expected"; - return null; - }; - - /** - * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} AnnotateVideoRequest - */ - AnnotateVideoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest(); - if (object.inputUri != null) - message.inputUri = String(object.inputUri); - if (object.inputContent != null) - message.inputContent = String(object.inputContent); - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) - switch (object.features[i]) { - default: - case "FEATURE_UNSPECIFIED": - case 0: - message.features[i] = 0; - break; - case "LABEL_DETECTION": - case 1: - message.features[i] = 1; - break; - case "FACE_DETECTION": - case 2: - message.features[i] = 2; - break; - case "SHOT_CHANGE_DETECTION": - case 3: - message.features[i] = 3; - break; - case "SAFE_SEARCH_DETECTION": - case 4: - message.features[i] = 4; - break; - } - } - if (object.videoContext != null) { - if (typeof object.videoContext !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoRequest.videoContext: object expected"); - message.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.fromObject(object.videoContext); - } - if (object.outputUri != null) - message.outputUri = String(object.outputUri); - if (object.locationId != null) - message.locationId = String(object.locationId); - return message; - }; - - /** - * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @static - * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoRequest} message AnnotateVideoRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AnnotateVideoRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.inputUri = ""; - object.videoContext = null; - object.outputUri = ""; - object.locationId = ""; - object.inputContent = ""; - } - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - object.inputUri = message.inputUri; - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Feature[message.features[j]] : message.features[j]; - } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) - object.videoContext = $root.google.cloud.videointelligence.v1beta1.VideoContext.toObject(message.videoContext, options); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) - object.outputUri = message.outputUri; - if (message.locationId != null && message.hasOwnProperty("locationId")) - object.locationId = message.locationId; - if (message.inputContent != null && message.hasOwnProperty("inputContent")) - object.inputContent = message.inputContent; - return object; - }; - - /** - * Converts this AnnotateVideoRequest to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoRequest - * @instance - * @returns {Object.} JSON object - */ - AnnotateVideoRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AnnotateVideoRequest; - })(); - - v1beta1.VideoContext = (function() { - - /** - * Properties of a VideoContext. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IVideoContext - * @property {Array.|null} [segments] VideoContext segments - * @property {google.cloud.videointelligence.v1beta1.LabelDetectionMode|null} [labelDetectionMode] VideoContext labelDetectionMode - * @property {boolean|null} [stationaryCamera] VideoContext stationaryCamera - * @property {string|null} [labelDetectionModel] VideoContext labelDetectionModel - * @property {string|null} [faceDetectionModel] VideoContext faceDetectionModel - * @property {string|null} [shotChangeDetectionModel] VideoContext shotChangeDetectionModel - * @property {string|null} [safeSearchDetectionModel] VideoContext safeSearchDetectionModel - */ - - /** - * Constructs a new VideoContext. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a VideoContext. - * @implements IVideoContext - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IVideoContext=} [properties] Properties to set - */ - function VideoContext(properties) { - this.segments = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VideoContext segments. - * @member {Array.} segments - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.segments = $util.emptyArray; - - /** - * VideoContext labelDetectionMode. - * @member {google.cloud.videointelligence.v1beta1.LabelDetectionMode} labelDetectionMode - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.labelDetectionMode = 0; - - /** - * VideoContext stationaryCamera. - * @member {boolean} stationaryCamera - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.stationaryCamera = false; - - /** - * VideoContext labelDetectionModel. - * @member {string} labelDetectionModel - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.labelDetectionModel = ""; - - /** - * VideoContext faceDetectionModel. - * @member {string} faceDetectionModel - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.faceDetectionModel = ""; - - /** - * VideoContext shotChangeDetectionModel. - * @member {string} shotChangeDetectionModel - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.shotChangeDetectionModel = ""; - - /** - * VideoContext safeSearchDetectionModel. - * @member {string} safeSearchDetectionModel - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - */ - VideoContext.prototype.safeSearchDetectionModel = ""; - - /** - * Creates a new VideoContext instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoContext=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext instance - */ - VideoContext.create = function create(properties) { - return new VideoContext(properties); - }; - - /** - * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoContext} message VideoContext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoContext.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.segments != null && message.segments.length) - for (var i = 0; i < message.segments.length; ++i) - $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.stationaryCamera); - if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.labelDetectionModel); - if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.faceDetectionModel); - if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.shotChangeDetectionModel); - if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.safeSearchDetectionModel); - return writer; - }; - - /** - * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoContext.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoContext} message VideoContext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoContext.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VideoContext message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoContext.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoContext(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionMode = reader.int32(); - break; - case 3: - message.stationaryCamera = reader.bool(); - break; - case 4: - message.labelDetectionModel = reader.string(); - break; - case 5: - message.faceDetectionModel = reader.string(); - break; - case 6: - message.shotChangeDetectionModel = reader.string(); - break; - case 7: - message.safeSearchDetectionModel = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VideoContext message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoContext.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VideoContext message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VideoContext.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.segments != null && message.hasOwnProperty("segments")) { - if (!Array.isArray(message.segments)) - return "segments: array expected"; - for (var i = 0; i < message.segments.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segments[i]); - if (error) - return "segments." + error; - } - } - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - switch (message.labelDetectionMode) { - default: - return "labelDetectionMode: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) - if (typeof message.stationaryCamera !== "boolean") - return "stationaryCamera: boolean expected"; - if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) - if (!$util.isString(message.labelDetectionModel)) - return "labelDetectionModel: string expected"; - if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) - if (!$util.isString(message.faceDetectionModel)) - return "faceDetectionModel: string expected"; - if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) - if (!$util.isString(message.shotChangeDetectionModel)) - return "shotChangeDetectionModel: string expected"; - if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) - if (!$util.isString(message.safeSearchDetectionModel)) - return "safeSearchDetectionModel: string expected"; - return null; - }; - - /** - * Creates a VideoContext message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.VideoContext} VideoContext - */ - VideoContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoContext) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.VideoContext(); - if (object.segments) { - if (!Array.isArray(object.segments)) - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoContext.segments: array expected"); - message.segments = []; - for (var i = 0; i < object.segments.length; ++i) { - if (typeof object.segments[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoContext.segments: object expected"); - message.segments[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segments[i]); - } - } - switch (object.labelDetectionMode) { - case "LABEL_DETECTION_MODE_UNSPECIFIED": - case 0: - message.labelDetectionMode = 0; - break; - case "SHOT_MODE": - case 1: - message.labelDetectionMode = 1; - break; - case "FRAME_MODE": - case 2: - message.labelDetectionMode = 2; - break; - case "SHOT_AND_FRAME_MODE": - case 3: - message.labelDetectionMode = 3; - break; - } - if (object.stationaryCamera != null) - message.stationaryCamera = Boolean(object.stationaryCamera); - if (object.labelDetectionModel != null) - message.labelDetectionModel = String(object.labelDetectionModel); - if (object.faceDetectionModel != null) - message.faceDetectionModel = String(object.faceDetectionModel); - if (object.shotChangeDetectionModel != null) - message.shotChangeDetectionModel = String(object.shotChangeDetectionModel); - if (object.safeSearchDetectionModel != null) - message.safeSearchDetectionModel = String(object.safeSearchDetectionModel); - return message; - }; - - /** - * Creates a plain object from a VideoContext message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @static - * @param {google.cloud.videointelligence.v1beta1.VideoContext} message VideoContext - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VideoContext.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.segments = []; - if (options.defaults) { - object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0; - object.stationaryCamera = false; - object.labelDetectionModel = ""; - object.faceDetectionModel = ""; - object.shotChangeDetectionModel = ""; - object.safeSearchDetectionModel = ""; - } - if (message.segments && message.segments.length) { - object.segments = []; - for (var j = 0; j < message.segments.length; ++j) - object.segments[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segments[j], options); - } - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) - object.stationaryCamera = message.stationaryCamera; - if (message.labelDetectionModel != null && message.hasOwnProperty("labelDetectionModel")) - object.labelDetectionModel = message.labelDetectionModel; - if (message.faceDetectionModel != null && message.hasOwnProperty("faceDetectionModel")) - object.faceDetectionModel = message.faceDetectionModel; - if (message.shotChangeDetectionModel != null && message.hasOwnProperty("shotChangeDetectionModel")) - object.shotChangeDetectionModel = message.shotChangeDetectionModel; - if (message.safeSearchDetectionModel != null && message.hasOwnProperty("safeSearchDetectionModel")) - object.safeSearchDetectionModel = message.safeSearchDetectionModel; - return object; - }; - - /** - * Converts this VideoContext to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.VideoContext - * @instance - * @returns {Object.} JSON object - */ - VideoContext.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VideoContext; - })(); - - v1beta1.VideoSegment = (function() { - - /** - * Properties of a VideoSegment. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IVideoSegment - * @property {number|Long|null} [startTimeOffset] VideoSegment startTimeOffset - * @property {number|Long|null} [endTimeOffset] VideoSegment endTimeOffset - */ - - /** - * Constructs a new VideoSegment. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a VideoSegment. - * @implements IVideoSegment - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IVideoSegment=} [properties] Properties to set - */ - function VideoSegment(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VideoSegment startTimeOffset. - * @member {number|Long} startTimeOffset - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @instance - */ - VideoSegment.prototype.startTimeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * VideoSegment endTimeOffset. - * @member {number|Long} endTimeOffset - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @instance - */ - VideoSegment.prototype.endTimeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new VideoSegment instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoSegment=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment instance - */ - VideoSegment.create = function create(properties) { - return new VideoSegment(properties); - }; - - /** - * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoSegment} message VideoSegment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoSegment.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.startTimeOffset); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.endTimeOffset); - return writer; - }; - - /** - * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoSegment.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoSegment} message VideoSegment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VideoSegment message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoSegment.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoSegment(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.startTimeOffset = reader.int64(); - break; - case 2: - message.endTimeOffset = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VideoSegment message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoSegment.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VideoSegment message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VideoSegment.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) - if (!$util.isInteger(message.startTimeOffset) && !(message.startTimeOffset && $util.isInteger(message.startTimeOffset.low) && $util.isInteger(message.startTimeOffset.high))) - return "startTimeOffset: integer|Long expected"; - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) - if (!$util.isInteger(message.endTimeOffset) && !(message.endTimeOffset && $util.isInteger(message.endTimeOffset.low) && $util.isInteger(message.endTimeOffset.high))) - return "endTimeOffset: integer|Long expected"; - return null; - }; - - /** - * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.VideoSegment} VideoSegment - */ - VideoSegment.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoSegment) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.VideoSegment(); - if (object.startTimeOffset != null) - if ($util.Long) - (message.startTimeOffset = $util.Long.fromValue(object.startTimeOffset)).unsigned = false; - else if (typeof object.startTimeOffset === "string") - message.startTimeOffset = parseInt(object.startTimeOffset, 10); - else if (typeof object.startTimeOffset === "number") - message.startTimeOffset = object.startTimeOffset; - else if (typeof object.startTimeOffset === "object") - message.startTimeOffset = new $util.LongBits(object.startTimeOffset.low >>> 0, object.startTimeOffset.high >>> 0).toNumber(); - if (object.endTimeOffset != null) - if ($util.Long) - (message.endTimeOffset = $util.Long.fromValue(object.endTimeOffset)).unsigned = false; - else if (typeof object.endTimeOffset === "string") - message.endTimeOffset = parseInt(object.endTimeOffset, 10); - else if (typeof object.endTimeOffset === "number") - message.endTimeOffset = object.endTimeOffset; - else if (typeof object.endTimeOffset === "object") - message.endTimeOffset = new $util.LongBits(object.endTimeOffset.low >>> 0, object.endTimeOffset.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @static - * @param {google.cloud.videointelligence.v1beta1.VideoSegment} message VideoSegment - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VideoSegment.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.startTimeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startTimeOffset = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.endTimeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.endTimeOffset = options.longs === String ? "0" : 0; - } - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) - if (typeof message.startTimeOffset === "number") - object.startTimeOffset = options.longs === String ? String(message.startTimeOffset) : message.startTimeOffset; - else - object.startTimeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeOffset) : options.longs === Number ? new $util.LongBits(message.startTimeOffset.low >>> 0, message.startTimeOffset.high >>> 0).toNumber() : message.startTimeOffset; - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) - if (typeof message.endTimeOffset === "number") - object.endTimeOffset = options.longs === String ? String(message.endTimeOffset) : message.endTimeOffset; - else - object.endTimeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeOffset) : options.longs === Number ? new $util.LongBits(message.endTimeOffset.low >>> 0, message.endTimeOffset.high >>> 0).toNumber() : message.endTimeOffset; - return object; - }; - - /** - * Converts this VideoSegment to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.VideoSegment - * @instance - * @returns {Object.} JSON object - */ - VideoSegment.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VideoSegment; - })(); - - v1beta1.LabelLocation = (function() { - - /** - * Properties of a LabelLocation. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface ILabelLocation - * @property {google.cloud.videointelligence.v1beta1.IVideoSegment|null} [segment] LabelLocation segment - * @property {number|null} [confidence] LabelLocation confidence - * @property {google.cloud.videointelligence.v1beta1.LabelLevel|null} [level] LabelLocation level - */ - - /** - * Constructs a new LabelLocation. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a LabelLocation. - * @implements ILabelLocation - * @constructor - * @param {google.cloud.videointelligence.v1beta1.ILabelLocation=} [properties] Properties to set - */ - function LabelLocation(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LabelLocation segment. - * @member {google.cloud.videointelligence.v1beta1.IVideoSegment|null|undefined} segment - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @instance - */ - LabelLocation.prototype.segment = null; - - /** - * LabelLocation confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @instance - */ - LabelLocation.prototype.confidence = 0; - - /** - * LabelLocation level. - * @member {google.cloud.videointelligence.v1beta1.LabelLevel} level - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @instance - */ - LabelLocation.prototype.level = 0; - - /** - * Creates a new LabelLocation instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelLocation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation instance - */ - LabelLocation.create = function create(properties) { - return new LabelLocation(properties); - }; - - /** - * Encodes the specified LabelLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelLocation} message LabelLocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LabelLocation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) - $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segment, 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.level != null && message.hasOwnProperty("level")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.level); - return writer; - }; - - /** - * Encodes the specified LabelLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelLocation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelLocation} message LabelLocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LabelLocation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LabelLocation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LabelLocation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.LabelLocation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.level = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LabelLocation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LabelLocation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LabelLocation message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LabelLocation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.segment != null && message.hasOwnProperty("segment")) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segment); - if (error) - return "segment." + error; - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.level != null && message.hasOwnProperty("level")) - switch (message.level) { - default: - return "level: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - return null; - }; - - /** - * Creates a LabelLocation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.LabelLocation} LabelLocation - */ - LabelLocation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.LabelLocation) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.LabelLocation(); - if (object.segment != null) { - if (typeof object.segment !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.LabelLocation.segment: object expected"); - message.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segment); - } - if (object.confidence != null) - message.confidence = Number(object.confidence); - switch (object.level) { - case "LABEL_LEVEL_UNSPECIFIED": - case 0: - message.level = 0; - break; - case "VIDEO_LEVEL": - case 1: - message.level = 1; - break; - case "SEGMENT_LEVEL": - case 2: - message.level = 2; - break; - case "SHOT_LEVEL": - case 3: - message.level = 3; - break; - case "FRAME_LEVEL": - case 4: - message.level = 4; - break; - } - return message; - }; - - /** - * Creates a plain object from a LabelLocation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.LabelLocation} message LabelLocation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LabelLocation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.segment = null; - object.confidence = 0; - object.level = options.enums === String ? "LABEL_LEVEL_UNSPECIFIED" : 0; - } - if (message.segment != null && message.hasOwnProperty("segment")) - object.segment = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segment, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.level != null && message.hasOwnProperty("level")) - object.level = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.LabelLevel[message.level] : message.level; - return object; - }; - - /** - * Converts this LabelLocation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.LabelLocation - * @instance - * @returns {Object.} JSON object - */ - LabelLocation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LabelLocation; - })(); - - v1beta1.LabelAnnotation = (function() { - - /** - * Properties of a LabelAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface ILabelAnnotation - * @property {string|null} [description] LabelAnnotation description - * @property {string|null} [languageCode] LabelAnnotation languageCode - * @property {Array.|null} [locations] LabelAnnotation locations - */ - - /** - * Constructs a new LabelAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a LabelAnnotation. - * @implements ILabelAnnotation - * @constructor - * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation=} [properties] Properties to set - */ - function LabelAnnotation(properties) { - this.locations = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LabelAnnotation description. - * @member {string} description - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @instance - */ - LabelAnnotation.prototype.description = ""; - - /** - * LabelAnnotation languageCode. - * @member {string} languageCode - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @instance - */ - LabelAnnotation.prototype.languageCode = ""; - - /** - * LabelAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @instance - */ - LabelAnnotation.prototype.locations = $util.emptyArray; - - /** - * Creates a new LabelAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation instance - */ - LabelAnnotation.create = function create(properties) { - return new LabelAnnotation(properties); - }; - - /** - * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LabelAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.LabelLocation.encode(message.locations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.LabelAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LabelAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LabelAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.LabelAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.description = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.videointelligence.v1beta1.LabelLocation.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LabelAnnotation message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LabelAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string 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.videointelligence.v1beta1.LabelLocation.verify(message.locations[i]); - if (error) - return "locations." + error; - } - } - return null; - }; - - /** - * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.LabelAnnotation} LabelAnnotation - */ - LabelAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.LabelAnnotation) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.LabelAnnotation(); - if (object.description != null) - message.description = String(object.description); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.LabelAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.LabelAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.videointelligence.v1beta1.LabelLocation.fromObject(object.locations[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.LabelAnnotation} message LabelAnnotation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LabelAnnotation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.locations = []; - if (options.defaults) { - object.description = ""; - object.languageCode = ""; - } - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.videointelligence.v1beta1.LabelLocation.toObject(message.locations[j], options); - } - return object; - }; - - /** - * Converts this LabelAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.LabelAnnotation - * @instance - * @returns {Object.} JSON object - */ - LabelAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LabelAnnotation; - })(); - - v1beta1.SafeSearchAnnotation = (function() { - - /** - * Properties of a SafeSearchAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [violent] SafeSearchAnnotation violent - * @property {google.cloud.videointelligence.v1beta1.Likelihood|null} [racy] SafeSearchAnnotation racy - * @property {number|Long|null} [timeOffset] SafeSearchAnnotation timeOffset - */ - - /** - * Constructs a new SafeSearchAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation - * @constructor - * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.Likelihood} adult - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adult = 0; - - /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.videointelligence.v1beta1.Likelihood} spoof - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoof = 0; - - /** - * SafeSearchAnnotation medical. - * @member {google.cloud.videointelligence.v1beta1.Likelihood} medical - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medical = 0; - - /** - * SafeSearchAnnotation violent. - * @member {google.cloud.videointelligence.v1beta1.Likelihood} violent - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.violent = 0; - - /** - * SafeSearchAnnotation racy. - * @member {google.cloud.videointelligence.v1beta1.Likelihood} racy - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.racy = 0; - - /** - * SafeSearchAnnotation timeOffset. - * @member {number|Long} timeOffset - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.timeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new SafeSearchAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} SafeSearchAnnotation instance - */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); - }; - - /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.violent != null && message.hasOwnProperty("violent")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violent); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.racy); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.timeOffset); - return writer; - }; - - /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.violent = reader.int32(); - break; - case 5: - message.racy = reader.int32(); - break; - case 6: - message.timeOffset = reader.int64(); - 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.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.violent != null && message.hasOwnProperty("violent")) - switch (message.violent) { - default: - return "violent: 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.timeOffset != null && message.hasOwnProperty("timeOffset")) - if (!$util.isInteger(message.timeOffset) && !(message.timeOffset && $util.isInteger(message.timeOffset.low) && $util.isInteger(message.timeOffset.high))) - return "timeOffset: integer|Long expected"; - return null; - }; - - /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.SafeSearchAnnotation} SafeSearchAnnotation - */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.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.violent) { - case "UNKNOWN": - case 0: - message.violent = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.violent = 1; - break; - case "UNLIKELY": - case 2: - message.violent = 2; - break; - case "POSSIBLE": - case 3: - message.violent = 3; - break; - case "LIKELY": - case 4: - message.violent = 4; - break; - case "VERY_LIKELY": - case 5: - message.violent = 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.timeOffset != null) - if ($util.Long) - (message.timeOffset = $util.Long.fromValue(object.timeOffset)).unsigned = false; - else if (typeof object.timeOffset === "string") - message.timeOffset = parseInt(object.timeOffset, 10); - else if (typeof object.timeOffset === "number") - message.timeOffset = object.timeOffset; - else if (typeof object.timeOffset === "object") - message.timeOffset = new $util.LongBits(object.timeOffset.low >>> 0, object.timeOffset.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.violent = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.timeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeOffset = options.longs === String ? "0" : 0; - } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.medical] : message.medical; - if (message.violent != null && message.hasOwnProperty("violent")) - object.violent = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.violent] : message.violent; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.videointelligence.v1beta1.Likelihood[message.racy] : message.racy; - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - if (typeof message.timeOffset === "number") - object.timeOffset = options.longs === String ? String(message.timeOffset) : message.timeOffset; - else - object.timeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.timeOffset) : options.longs === Number ? new $util.LongBits(message.timeOffset.low >>> 0, message.timeOffset.high >>> 0).toNumber() : message.timeOffset; - return object; - }; - - /** - * Converts this SafeSearchAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.SafeSearchAnnotation - * @instance - * @returns {Object.} JSON object - */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SafeSearchAnnotation; - })(); - - v1beta1.BoundingBox = (function() { - - /** - * Properties of a BoundingBox. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IBoundingBox - * @property {number|null} [left] BoundingBox left - * @property {number|null} [right] BoundingBox right - * @property {number|null} [bottom] BoundingBox bottom - * @property {number|null} [top] BoundingBox top - */ - - /** - * Constructs a new BoundingBox. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a BoundingBox. - * @implements IBoundingBox - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IBoundingBox=} [properties] Properties to set - */ - function BoundingBox(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BoundingBox left. - * @member {number} left - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @instance - */ - BoundingBox.prototype.left = 0; - - /** - * BoundingBox right. - * @member {number} right - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @instance - */ - BoundingBox.prototype.right = 0; - - /** - * BoundingBox bottom. - * @member {number} bottom - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @instance - */ - BoundingBox.prototype.bottom = 0; - - /** - * BoundingBox top. - * @member {number} top - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @instance - */ - BoundingBox.prototype.top = 0; - - /** - * Creates a new BoundingBox instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {google.cloud.videointelligence.v1beta1.IBoundingBox=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox instance - */ - BoundingBox.create = function create(properties) { - return new BoundingBox(properties); - }; - - /** - * Encodes the specified BoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {google.cloud.videointelligence.v1beta1.IBoundingBox} message BoundingBox message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoundingBox.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.left); - if (message.right != null && message.hasOwnProperty("right")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.bottom); - if (message.top != null && message.hasOwnProperty("top")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.top); - return writer; - }; - - /** - * Encodes the specified BoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.BoundingBox.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {google.cloud.videointelligence.v1beta1.IBoundingBox} message BoundingBox message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BoundingBox.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BoundingBox message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoundingBox.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.BoundingBox(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.left = reader.int32(); - break; - case 2: - message.right = reader.int32(); - break; - case 3: - message.bottom = reader.int32(); - break; - case 4: - message.top = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BoundingBox message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BoundingBox.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BoundingBox message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BoundingBox.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.left != null && message.hasOwnProperty("left")) - if (!$util.isInteger(message.left)) - return "left: integer expected"; - if (message.right != null && message.hasOwnProperty("right")) - if (!$util.isInteger(message.right)) - return "right: integer expected"; - if (message.bottom != null && message.hasOwnProperty("bottom")) - if (!$util.isInteger(message.bottom)) - return "bottom: integer expected"; - if (message.top != null && message.hasOwnProperty("top")) - if (!$util.isInteger(message.top)) - return "top: integer expected"; - return null; - }; - - /** - * Creates a BoundingBox message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.BoundingBox} BoundingBox - */ - BoundingBox.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.BoundingBox) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.BoundingBox(); - if (object.left != null) - message.left = object.left | 0; - if (object.right != null) - message.right = object.right | 0; - if (object.bottom != null) - message.bottom = object.bottom | 0; - if (object.top != null) - message.top = object.top | 0; - return message; - }; - - /** - * Creates a plain object from a BoundingBox message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @static - * @param {google.cloud.videointelligence.v1beta1.BoundingBox} message BoundingBox - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BoundingBox.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.left = 0; - object.right = 0; - object.bottom = 0; - object.top = 0; - } - if (message.left != null && message.hasOwnProperty("left")) - object.left = message.left; - if (message.right != null && message.hasOwnProperty("right")) - object.right = message.right; - if (message.bottom != null && message.hasOwnProperty("bottom")) - object.bottom = message.bottom; - if (message.top != null && message.hasOwnProperty("top")) - object.top = message.top; - return object; - }; - - /** - * Converts this BoundingBox to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.BoundingBox - * @instance - * @returns {Object.} JSON object - */ - BoundingBox.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BoundingBox; - })(); - - v1beta1.FaceLocation = (function() { - - /** - * Properties of a FaceLocation. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IFaceLocation - * @property {google.cloud.videointelligence.v1beta1.IBoundingBox|null} [boundingBox] FaceLocation boundingBox - * @property {number|Long|null} [timeOffset] FaceLocation timeOffset - */ - - /** - * Constructs a new FaceLocation. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a FaceLocation. - * @implements IFaceLocation - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IFaceLocation=} [properties] Properties to set - */ - function FaceLocation(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FaceLocation boundingBox. - * @member {google.cloud.videointelligence.v1beta1.IBoundingBox|null|undefined} boundingBox - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @instance - */ - FaceLocation.prototype.boundingBox = null; - - /** - * FaceLocation timeOffset. - * @member {number|Long} timeOffset - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @instance - */ - FaceLocation.prototype.timeOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new FaceLocation instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.IFaceLocation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation instance - */ - FaceLocation.create = function create(properties) { - return new FaceLocation(properties); - }; - - /** - * Encodes the specified FaceLocation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.IFaceLocation} message FaceLocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FaceLocation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - $root.google.cloud.videointelligence.v1beta1.BoundingBox.encode(message.boundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.timeOffset); - return writer; - }; - - /** - * Encodes the specified FaceLocation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceLocation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.IFaceLocation} message FaceLocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FaceLocation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FaceLocation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FaceLocation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.FaceLocation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FaceLocation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FaceLocation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FaceLocation message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FaceLocation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { - var error = $root.google.cloud.videointelligence.v1beta1.BoundingBox.verify(message.boundingBox); - if (error) - return "boundingBox." + error; - } - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - if (!$util.isInteger(message.timeOffset) && !(message.timeOffset && $util.isInteger(message.timeOffset.low) && $util.isInteger(message.timeOffset.high))) - return "timeOffset: integer|Long expected"; - return null; - }; - - /** - * Creates a FaceLocation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.FaceLocation} FaceLocation - */ - FaceLocation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.FaceLocation) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.FaceLocation(); - if (object.boundingBox != null) { - if (typeof object.boundingBox !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.FaceLocation.boundingBox: object expected"); - message.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.fromObject(object.boundingBox); - } - if (object.timeOffset != null) - if ($util.Long) - (message.timeOffset = $util.Long.fromValue(object.timeOffset)).unsigned = false; - else if (typeof object.timeOffset === "string") - message.timeOffset = parseInt(object.timeOffset, 10); - else if (typeof object.timeOffset === "number") - message.timeOffset = object.timeOffset; - else if (typeof object.timeOffset === "object") - message.timeOffset = new $util.LongBits(object.timeOffset.low >>> 0, object.timeOffset.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a FaceLocation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @static - * @param {google.cloud.videointelligence.v1beta1.FaceLocation} message FaceLocation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FaceLocation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.boundingBox = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.timeOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeOffset = options.longs === String ? "0" : 0; - } - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - object.boundingBox = $root.google.cloud.videointelligence.v1beta1.BoundingBox.toObject(message.boundingBox, options); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - if (typeof message.timeOffset === "number") - object.timeOffset = options.longs === String ? String(message.timeOffset) : message.timeOffset; - else - object.timeOffset = options.longs === String ? $util.Long.prototype.toString.call(message.timeOffset) : options.longs === Number ? new $util.LongBits(message.timeOffset.low >>> 0, message.timeOffset.high >>> 0).toNumber() : message.timeOffset; - return object; - }; - - /** - * Converts this FaceLocation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.FaceLocation - * @instance - * @returns {Object.} JSON object - */ - FaceLocation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FaceLocation; - })(); - - v1beta1.FaceAnnotation = (function() { - - /** - * Properties of a FaceAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IFaceAnnotation - * @property {string|null} [thumbnail] FaceAnnotation thumbnail - * @property {Array.|null} [segments] FaceAnnotation segments - * @property {Array.|null} [locations] FaceAnnotation locations - */ - - /** - * Constructs a new FaceAnnotation. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IFaceAnnotation=} [properties] Properties to set - */ - function FaceAnnotation(properties) { - this.segments = []; - this.locations = []; - if (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 thumbnail. - * @member {string} thumbnail - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.thumbnail = ""; - - /** - * FaceAnnotation segments. - * @member {Array.} segments - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.segments = $util.emptyArray; - - /** - * FaceAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.locations = $util.emptyArray; - - /** - * Creates a new FaceAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.FaceAnnotation} FaceAnnotation instance - */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); - }; - - /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.thumbnail != null && message.hasOwnProperty("thumbnail")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.thumbnail); - if (message.segments != null && message.segments.length) - for (var i = 0; i < message.segments.length; ++i) - $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.FaceLocation.encode(message.locations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.FaceAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.FaceAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.thumbnail = reader.string(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.videointelligence.v1beta1.FaceLocation.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.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.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.videointelligence.v1beta1.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.thumbnail != null && message.hasOwnProperty("thumbnail")) - if (!$util.isString(message.thumbnail)) - return "thumbnail: string expected"; - if (message.segments != null && message.hasOwnProperty("segments")) { - if (!Array.isArray(message.segments)) - return "segments: array expected"; - for (var i = 0; i < message.segments.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.segments[i]); - if (error) - return "segments." + 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.videointelligence.v1beta1.FaceLocation.verify(message.locations[i]); - if (error) - return "locations." + error; - } - } - return null; - }; - - /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.FaceAnnotation} FaceAnnotation - */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.FaceAnnotation) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.FaceAnnotation(); - if (object.thumbnail != null) - message.thumbnail = String(object.thumbnail); - if (object.segments) { - if (!Array.isArray(object.segments)) - throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.segments: array expected"); - message.segments = []; - for (var i = 0; i < object.segments.length; ++i) { - if (typeof object.segments[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.segments: object expected"); - message.segments[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.segments[i]); - } - } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.FaceAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.videointelligence.v1beta1.FaceLocation.fromObject(object.locations[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @static - * @param {google.cloud.videointelligence.v1beta1.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.segments = []; - object.locations = []; - } - if (options.defaults) - object.thumbnail = ""; - if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) - object.thumbnail = message.thumbnail; - if (message.segments && message.segments.length) { - object.segments = []; - for (var j = 0; j < message.segments.length; ++j) - object.segments[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.segments[j], options); - } - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.videointelligence.v1beta1.FaceLocation.toObject(message.locations[j], options); - } - return object; - }; - - /** - * Converts this FaceAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.FaceAnnotation - * @instance - * @returns {Object.} JSON object - */ - FaceAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FaceAnnotation; - })(); - - v1beta1.VideoAnnotationResults = (function() { - - /** - * Properties of a VideoAnnotationResults. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IVideoAnnotationResults - * @property {string|null} [inputUri] VideoAnnotationResults inputUri - * @property {Array.|null} [labelAnnotations] VideoAnnotationResults labelAnnotations - * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations - * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations - * @property {Array.|null} [safeSearchAnnotations] VideoAnnotationResults safeSearchAnnotations - * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error - */ - - /** - * Constructs a new VideoAnnotationResults. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a VideoAnnotationResults. - * @implements IVideoAnnotationResults - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults=} [properties] Properties to set - */ - function VideoAnnotationResults(properties) { - this.labelAnnotations = []; - this.faceAnnotations = []; - this.shotAnnotations = []; - this.safeSearchAnnotations = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VideoAnnotationResults inputUri. - * @member {string} inputUri - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.inputUri = ""; - - /** - * VideoAnnotationResults labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.labelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotAnnotations. - * @member {Array.} shotAnnotations - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults safeSearchAnnotations. - * @member {Array.} safeSearchAnnotations - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.safeSearchAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.error = null; - - /** - * Creates a new VideoAnnotationResults instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults instance - */ - VideoAnnotationResults.create = function create(properties) { - return new VideoAnnotationResults(properties); - }; - - /** - * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoAnnotationResults.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.shotAnnotations != null && message.shotAnnotations.length) - for (var i = 0; i < message.shotAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotations != null && message.safeSearchAnnotations.length) - for (var i = 0; i < message.safeSearchAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoAnnotationResults.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.videointelligence.v1beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.videointelligence.v1beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.safeSearchAnnotations && message.safeSearchAnnotations.length)) - message.safeSearchAnnotations = []; - message.safeSearchAnnotations.push($root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.decode(reader, reader.uint32())); - break; - case 5: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VideoAnnotationResults message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VideoAnnotationResults.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - if (!$util.isString(message.inputUri)) - return "inputUri: string expected"; - 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.videointelligence.v1beta1.LabelAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + 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.videointelligence.v1beta1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { - if (!Array.isArray(message.shotAnnotations)) - return "shotAnnotations: array expected"; - for (var i = 0; i < message.shotAnnotations.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoSegment.verify(message.shotAnnotations[i]); - if (error) - return "shotAnnotations." + error; - } - } - if (message.safeSearchAnnotations != null && message.hasOwnProperty("safeSearchAnnotations")) { - if (!Array.isArray(message.safeSearchAnnotations)) - return "safeSearchAnnotations: array expected"; - for (var i = 0; i < message.safeSearchAnnotations.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotations[i]); - if (error) - return "safeSearchAnnotations." + 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 a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} VideoAnnotationResults - */ - VideoAnnotationResults.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults(); - if (object.inputUri != null) - message.inputUri = String(object.inputUri); - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.shotAnnotations) { - if (!Array.isArray(object.shotAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.shotAnnotations: array expected"); - message.shotAnnotations = []; - for (var i = 0; i < object.shotAnnotations.length; ++i) { - if (typeof object.shotAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.shotAnnotations: object expected"); - message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.fromObject(object.shotAnnotations[i]); - } - } - if (object.safeSearchAnnotations) { - if (!Array.isArray(object.safeSearchAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.safeSearchAnnotations: array expected"); - message.safeSearchAnnotations = []; - for (var i = 0; i < object.safeSearchAnnotations.length; ++i) { - if (typeof object.safeSearchAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.safeSearchAnnotations: object expected"); - message.safeSearchAnnotations[i] = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotations[i]); - } - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationResults.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); - } - return message; - }; - - /** - * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @static - * @param {google.cloud.videointelligence.v1beta1.VideoAnnotationResults} message VideoAnnotationResults - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VideoAnnotationResults.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.labelAnnotations = []; - object.faceAnnotations = []; - object.shotAnnotations = []; - object.safeSearchAnnotations = []; - } - if (options.defaults) { - object.inputUri = ""; - object.error = null; - } - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - object.inputUri = message.inputUri; - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.LabelAnnotation.toObject(message.labelAnnotations[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.videointelligence.v1beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.shotAnnotations && message.shotAnnotations.length) { - object.shotAnnotations = []; - for (var j = 0; j < message.shotAnnotations.length; ++j) - object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.VideoSegment.toObject(message.shotAnnotations[j], options); - } - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.safeSearchAnnotations && message.safeSearchAnnotations.length) { - object.safeSearchAnnotations = []; - for (var j = 0; j < message.safeSearchAnnotations.length; ++j) - object.safeSearchAnnotations[j] = $root.google.cloud.videointelligence.v1beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotations[j], options); - } - return object; - }; - - /** - * Converts this VideoAnnotationResults to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationResults - * @instance - * @returns {Object.} JSON object - */ - VideoAnnotationResults.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VideoAnnotationResults; - })(); - - v1beta1.AnnotateVideoResponse = (function() { - - /** - * Properties of an AnnotateVideoResponse. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IAnnotateVideoResponse - * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults - */ - - /** - * Constructs a new AnnotateVideoResponse. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents an AnnotateVideoResponse. - * @implements IAnnotateVideoResponse - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse=} [properties] Properties to set - */ - function AnnotateVideoResponse(properties) { - this.annotationResults = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AnnotateVideoResponse annotationResults. - * @member {Array.} annotationResults - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @instance - */ - AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray; - - /** - * Creates a new AnnotateVideoResponse instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse instance - */ - AnnotateVideoResponse.create = function create(properties) { - return new AnnotateVideoResponse(properties); - }; - - /** - * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.annotationResults != null && message.annotationResults.length) - for (var i = 0; i < message.annotationResults.length; ++i) - $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AnnotateVideoResponse message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AnnotateVideoResponse message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AnnotateVideoResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { - if (!Array.isArray(message.annotationResults)) - return "annotationResults: array expected"; - for (var i = 0; i < message.annotationResults.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.verify(message.annotationResults[i]); - if (error) - return "annotationResults." + error; - } - } - return null; - }; - - /** - * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} AnnotateVideoResponse - */ - AnnotateVideoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse(); - if (object.annotationResults) { - if (!Array.isArray(object.annotationResults)) - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.annotationResults: array expected"); - message.annotationResults = []; - for (var i = 0; i < object.annotationResults.length; ++i) { - if (typeof object.annotationResults[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoResponse.annotationResults: object expected"); - message.annotationResults[i] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.fromObject(object.annotationResults[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @static - * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoResponse} message AnnotateVideoResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AnnotateVideoResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.annotationResults = []; - if (message.annotationResults && message.annotationResults.length) { - object.annotationResults = []; - for (var j = 0; j < message.annotationResults.length; ++j) - object.annotationResults[j] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationResults.toObject(message.annotationResults[j], options); - } - return object; - }; - - /** - * Converts this AnnotateVideoResponse to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoResponse - * @instance - * @returns {Object.} JSON object - */ - AnnotateVideoResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AnnotateVideoResponse; - })(); - - v1beta1.VideoAnnotationProgress = (function() { - - /** - * Properties of a VideoAnnotationProgress. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IVideoAnnotationProgress - * @property {string|null} [inputUri] VideoAnnotationProgress inputUri - * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent - * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime - * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime - */ - - /** - * Constructs a new VideoAnnotationProgress. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents a VideoAnnotationProgress. - * @implements IVideoAnnotationProgress - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress=} [properties] Properties to set - */ - function VideoAnnotationProgress(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VideoAnnotationProgress inputUri. - * @member {string} inputUri - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @instance - */ - VideoAnnotationProgress.prototype.inputUri = ""; - - /** - * VideoAnnotationProgress progressPercent. - * @member {number} progressPercent - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @instance - */ - VideoAnnotationProgress.prototype.progressPercent = 0; - - /** - * VideoAnnotationProgress startTime. - * @member {google.protobuf.ITimestamp|null|undefined} startTime - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @instance - */ - VideoAnnotationProgress.prototype.startTime = null; - - /** - * VideoAnnotationProgress updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @instance - */ - VideoAnnotationProgress.prototype.updateTime = null; - - /** - * Creates a new VideoAnnotationProgress instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress instance - */ - VideoAnnotationProgress.create = function create(properties) { - return new VideoAnnotationProgress(properties); - }; - - /** - * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoAnnotationProgress.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) - $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VideoAnnotationProgress message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoAnnotationProgress.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VideoAnnotationProgress message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VideoAnnotationProgress.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - if (!$util.isString(message.inputUri)) - return "inputUri: string expected"; - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) - if (!$util.isInteger(message.progressPercent)) - return "progressPercent: integer expected"; - if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); - if (error) - return "startTime." + 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 VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} VideoAnnotationProgress - */ - VideoAnnotationProgress.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress(); - if (object.inputUri != null) - message.inputUri = String(object.inputUri); - if (object.progressPercent != null) - message.progressPercent = object.progressPercent | 0; - if (object.startTime != null) { - if (typeof object.startTime !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); - } - return message; - }; - - /** - * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.VideoAnnotationProgress} message VideoAnnotationProgress - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VideoAnnotationProgress.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.inputUri = ""; - object.progressPercent = 0; - object.startTime = null; - object.updateTime = null; - } - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - object.inputUri = message.inputUri; - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) - object.progressPercent = message.progressPercent; - if (message.startTime != null && message.hasOwnProperty("startTime")) - object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); - return object; - }; - - /** - * Converts this VideoAnnotationProgress to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.VideoAnnotationProgress - * @instance - * @returns {Object.} JSON object - */ - VideoAnnotationProgress.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VideoAnnotationProgress; - })(); - - v1beta1.AnnotateVideoProgress = (function() { - - /** - * Properties of an AnnotateVideoProgress. - * @memberof google.cloud.videointelligence.v1beta1 - * @interface IAnnotateVideoProgress - * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress - */ - - /** - * Constructs a new AnnotateVideoProgress. - * @memberof google.cloud.videointelligence.v1beta1 - * @classdesc Represents an AnnotateVideoProgress. - * @implements IAnnotateVideoProgress - * @constructor - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress=} [properties] Properties to set - */ - function AnnotateVideoProgress(properties) { - this.annotationProgress = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AnnotateVideoProgress annotationProgress. - * @member {Array.} annotationProgress - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @instance - */ - AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray; - - /** - * Creates a new AnnotateVideoProgress instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress instance - */ - AnnotateVideoProgress.create = function create(properties) { - return new AnnotateVideoProgress(properties); - }; - - /** - * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoProgress.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.annotationProgress != null && message.annotationProgress.length) - for (var i = 0; i < message.annotationProgress.length; ++i) - $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AnnotateVideoProgress message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoProgress.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AnnotateVideoProgress message. - * @function verify - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AnnotateVideoProgress.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) { - if (!Array.isArray(message.annotationProgress)) - return "annotationProgress: array expected"; - for (var i = 0; i < message.annotationProgress.length; ++i) { - var error = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.verify(message.annotationProgress[i]); - if (error) - return "annotationProgress." + error; - } - } - return null; - }; - - /** - * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} AnnotateVideoProgress - */ - AnnotateVideoProgress.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress) - return object; - var message = new $root.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress(); - if (object.annotationProgress) { - if (!Array.isArray(object.annotationProgress)) - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.annotationProgress: array expected"); - message.annotationProgress = []; - for (var i = 0; i < object.annotationProgress.length; ++i) { - if (typeof object.annotationProgress[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1beta1.AnnotateVideoProgress.annotationProgress: object expected"); - message.annotationProgress[i] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @static - * @param {google.cloud.videointelligence.v1beta1.AnnotateVideoProgress} message AnnotateVideoProgress - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AnnotateVideoProgress.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.annotationProgress = []; - if (message.annotationProgress && message.annotationProgress.length) { - object.annotationProgress = []; - for (var j = 0; j < message.annotationProgress.length; ++j) - object.annotationProgress[j] = $root.google.cloud.videointelligence.v1beta1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options); - } - return object; - }; - - /** - * Converts this AnnotateVideoProgress to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1beta1.AnnotateVideoProgress - * @instance - * @returns {Object.} JSON object - */ - AnnotateVideoProgress.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AnnotateVideoProgress; - })(); - - /** - * Feature enum. - * @name google.cloud.videointelligence.v1beta1.Feature - * @enum {string} - * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value - * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value - * @property {number} FACE_DETECTION=2 FACE_DETECTION value - * @property {number} SHOT_CHANGE_DETECTION=3 SHOT_CHANGE_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=4 SAFE_SEARCH_DETECTION value - */ - v1beta1.Feature = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; - values[valuesById[1] = "LABEL_DETECTION"] = 1; - values[valuesById[2] = "FACE_DETECTION"] = 2; - values[valuesById[3] = "SHOT_CHANGE_DETECTION"] = 3; - values[valuesById[4] = "SAFE_SEARCH_DETECTION"] = 4; - return values; - })(); - - /** - * LabelLevel enum. - * @name google.cloud.videointelligence.v1beta1.LabelLevel - * @enum {string} - * @property {number} LABEL_LEVEL_UNSPECIFIED=0 LABEL_LEVEL_UNSPECIFIED value - * @property {number} VIDEO_LEVEL=1 VIDEO_LEVEL value - * @property {number} SEGMENT_LEVEL=2 SEGMENT_LEVEL value - * @property {number} SHOT_LEVEL=3 SHOT_LEVEL value - * @property {number} FRAME_LEVEL=4 FRAME_LEVEL value - */ - v1beta1.LabelLevel = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LABEL_LEVEL_UNSPECIFIED"] = 0; - values[valuesById[1] = "VIDEO_LEVEL"] = 1; - values[valuesById[2] = "SEGMENT_LEVEL"] = 2; - values[valuesById[3] = "SHOT_LEVEL"] = 3; - values[valuesById[4] = "FRAME_LEVEL"] = 4; - return values; - })(); - - /** - * LabelDetectionMode enum. - * @name google.cloud.videointelligence.v1beta1.LabelDetectionMode - * @enum {string} - * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value - * @property {number} SHOT_MODE=1 SHOT_MODE value - * @property {number} FRAME_MODE=2 FRAME_MODE value - * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value - */ - v1beta1.LabelDetectionMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOT_MODE"] = 1; - values[valuesById[2] = "FRAME_MODE"] = 2; - values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; - return values; - })(); - - /** - * Likelihood enum. - * @name google.cloud.videointelligence.v1beta1.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 - */ - v1beta1.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 v1beta1; + return v1; })(); videointelligence.v1beta2 = (function() { @@ -43582,6 +39638,28 @@ 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; + })(); + return api; })(); @@ -48721,6 +44799,7 @@ * @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 */ /** @@ -48733,6 +44812,7 @@ */ 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) @@ -48795,6 +44875,14 @@ */ 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; + /** * Creates a new FieldOptions instance using the specified properties. * @function create @@ -48834,6 +44922,12 @@ 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(); + } return writer; }; @@ -48891,6 +44985,16 @@ 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; default: reader.skipType(tag & 7); break; @@ -48965,6 +45069,22 @@ 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; + } + } return null; }; @@ -49026,6 +45146,39 @@ 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; + } + } return message; }; @@ -49042,8 +45195,10 @@ if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.uninterpretedOption = []; + object[".google.api.fieldBehavior"] = []; + } if (options.defaults) { object.ctype = options.enums === String ? "STRING" : 0; object.packed = false; @@ -49069,6 +45224,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.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]; + } return object; }; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 892442cb9bc..a0707e84038 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -28,7 +28,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1/videos:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "input_uri,features", + "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", + "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" } } } @@ -46,7 +49,10 @@ "features": { "rule": "repeated", "type": "Feature", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "videoContext": { "type": "VideoContext", @@ -54,11 +60,17 @@ }, "outputUri": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "locationId": { "type": "string", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -99,6 +111,36 @@ } } }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4, + "SPEECH_TRANSCRIPTION": 6, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9 + } + }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, "LabelDetectionConfig": { "fields": { "labelDetectionMode": { @@ -131,7 +173,7 @@ } } }, - "ExplicitContentDetectionConfig": { + "ObjectTrackingConfig": { "fields": { "model": { "type": "string", @@ -151,7 +193,7 @@ } } }, - "ObjectTrackingConfig": { + "ExplicitContentDetectionConfig": { "fields": { "model": { "type": "string", @@ -447,41 +489,68 @@ "fields": { "languageCode": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "maxAlternatives": { "type": "int32", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "filterProfanity": { "type": "bool", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "speechContexts": { "rule": "repeated", "type": "SpeechContext", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableAutomaticPunctuation": { "type": "bool", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "audioTracks": { "rule": "repeated", "type": "int32", - "id": 6 + "id": 6, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableSpeakerDiarization": { "type": "bool", - "id": 7 + "id": 7, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "diarizationSpeakerCount": { "type": "int32", - "id": 8 + "id": 8, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableWordConfidence": { "type": "bool", - "id": 9 + "id": 9, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -490,7 +559,10 @@ "phrases": { "rule": "repeated", "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -503,7 +575,10 @@ }, "languageCode": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -515,12 +590,18 @@ }, "confidence": { "type": "float", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "words": { "rule": "repeated", "type": "WordInfo", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -540,11 +621,17 @@ }, "confidence": { "type": "float", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "speakerTag": { "type": "int32", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -655,352 +742,6 @@ "id": 2 } } - }, - "Feature": { - "values": { - "FEATURE_UNSPECIFIED": 0, - "LABEL_DETECTION": 1, - "SHOT_CHANGE_DETECTION": 2, - "EXPLICIT_CONTENT_DETECTION": 3, - "FACE_DETECTION": 4, - "SPEECH_TRANSCRIPTION": 6, - "TEXT_DETECTION": 7, - "OBJECT_TRACKING": 9 - } - }, - "LabelDetectionMode": { - "values": { - "LABEL_DETECTION_MODE_UNSPECIFIED": 0, - "SHOT_MODE": 1, - "FRAME_MODE": 2, - "SHOT_AND_FRAME_MODE": 3 - } - }, - "Likelihood": { - "values": { - "LIKELIHOOD_UNSPECIFIED": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - } - } - }, - "v1beta1": { - "options": { - "csharp_namespace": "Google.Cloud.VideoIntelligence.V1Beta1", - "go_package": "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta1;videointelligence", - "java_multiple_files": true, - "java_outer_classname": "VideoIntelligenceServiceProto", - "java_package": "com.google.cloud.videointelligence.v1beta1", - "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1beta1", - "ruby_package": "Google::Cloud::VideoIntelligence::V1beta1" - }, - "nested": { - "VideoIntelligenceService": { - "methods": { - "AnnotateVideo": { - "requestType": "AnnotateVideoRequest", - "responseType": "google.longrunning.Operation", - "options": { - "(google.api.http).post": "/v1beta1/videos:annotate", - "(google.api.http).body": "*" - } - } - } - }, - "AnnotateVideoRequest": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "inputContent": { - "type": "string", - "id": 6 - }, - "features": { - "rule": "repeated", - "type": "Feature", - "id": 2 - }, - "videoContext": { - "type": "VideoContext", - "id": 3 - }, - "outputUri": { - "type": "string", - "id": 4 - }, - "locationId": { - "type": "string", - "id": 5 - } - } - }, - "VideoContext": { - "fields": { - "segments": { - "rule": "repeated", - "type": "VideoSegment", - "id": 1 - }, - "labelDetectionMode": { - "type": "LabelDetectionMode", - "id": 2 - }, - "stationaryCamera": { - "type": "bool", - "id": 3 - }, - "labelDetectionModel": { - "type": "string", - "id": 4 - }, - "faceDetectionModel": { - "type": "string", - "id": 5 - }, - "shotChangeDetectionModel": { - "type": "string", - "id": 6 - }, - "safeSearchDetectionModel": { - "type": "string", - "id": 7 - } - } - }, - "VideoSegment": { - "fields": { - "startTimeOffset": { - "type": "int64", - "id": 1 - }, - "endTimeOffset": { - "type": "int64", - "id": 2 - } - } - }, - "LabelLocation": { - "fields": { - "segment": { - "type": "VideoSegment", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - }, - "level": { - "type": "LabelLevel", - "id": 3 - } - } - }, - "LabelAnnotation": { - "fields": { - "description": { - "type": "string", - "id": 1 - }, - "languageCode": { - "type": "string", - "id": 2 - }, - "locations": { - "rule": "repeated", - "type": "LabelLocation", - "id": 3 - } - } - }, - "SafeSearchAnnotation": { - "fields": { - "adult": { - "type": "Likelihood", - "id": 1 - }, - "spoof": { - "type": "Likelihood", - "id": 2 - }, - "medical": { - "type": "Likelihood", - "id": 3 - }, - "violent": { - "type": "Likelihood", - "id": 4 - }, - "racy": { - "type": "Likelihood", - "id": 5 - }, - "timeOffset": { - "type": "int64", - "id": 6 - } - } - }, - "BoundingBox": { - "fields": { - "left": { - "type": "int32", - "id": 1 - }, - "right": { - "type": "int32", - "id": 2 - }, - "bottom": { - "type": "int32", - "id": 3 - }, - "top": { - "type": "int32", - "id": 4 - } - } - }, - "FaceLocation": { - "fields": { - "boundingBox": { - "type": "BoundingBox", - "id": 1 - }, - "timeOffset": { - "type": "int64", - "id": 2 - } - } - }, - "FaceAnnotation": { - "fields": { - "thumbnail": { - "type": "string", - "id": 1 - }, - "segments": { - "rule": "repeated", - "type": "VideoSegment", - "id": 2 - }, - "locations": { - "rule": "repeated", - "type": "FaceLocation", - "id": 3 - } - } - }, - "VideoAnnotationResults": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "labelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 2 - }, - "faceAnnotations": { - "rule": "repeated", - "type": "FaceAnnotation", - "id": 3 - }, - "shotAnnotations": { - "rule": "repeated", - "type": "VideoSegment", - "id": 4 - }, - "safeSearchAnnotations": { - "rule": "repeated", - "type": "SafeSearchAnnotation", - "id": 6 - }, - "error": { - "type": "google.rpc.Status", - "id": 5 - } - } - }, - "AnnotateVideoResponse": { - "fields": { - "annotationResults": { - "rule": "repeated", - "type": "VideoAnnotationResults", - "id": 1 - } - } - }, - "VideoAnnotationProgress": { - "fields": { - "inputUri": { - "type": "string", - "id": 1 - }, - "progressPercent": { - "type": "int32", - "id": 2 - }, - "startTime": { - "type": "google.protobuf.Timestamp", - "id": 3 - }, - "updateTime": { - "type": "google.protobuf.Timestamp", - "id": 4 - } - } - }, - "AnnotateVideoProgress": { - "fields": { - "annotationProgress": { - "rule": "repeated", - "type": "VideoAnnotationProgress", - "id": 1 - } - } - }, - "Feature": { - "values": { - "FEATURE_UNSPECIFIED": 0, - "LABEL_DETECTION": 1, - "FACE_DETECTION": 2, - "SHOT_CHANGE_DETECTION": 3, - "SAFE_SEARCH_DETECTION": 4 - } - }, - "LabelLevel": { - "values": { - "LABEL_LEVEL_UNSPECIFIED": 0, - "VIDEO_LEVEL": 1, - "SEGMENT_LEVEL": 2, - "SHOT_LEVEL": 3, - "FRAME_LEVEL": 4 - } - }, - "LabelDetectionMode": { - "values": { - "LABEL_DETECTION_MODE_UNSPECIFIED": 0, - "SHOT_MODE": 1, - "FRAME_MODE": 2, - "SHOT_AND_FRAME_MODE": 3 - } - }, - "Likelihood": { - "values": { - "UNKNOWN": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } } } }, @@ -3081,7 +2822,7 @@ "options": { "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", "java_multiple_files": true, - "java_outer_classname": "ClientProto", + "java_outer_classname": "FieldBehaviorProto", "java_package": "com.google.api", "objc_class_prefix": "GAPI", "cc_enable_arenas": true @@ -3189,6 +2930,22 @@ "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 + } } } }, diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 87929885baa..50688641947 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -36,7 +36,7 @@ * If set, `input_uri` should be unset. * * @property {number[]} features - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} * @@ -46,15 +46,15 @@ * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} * * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @@ -180,18 +180,18 @@ const ShotChangeDetectionConfig = { }; /** - * Config for EXPLICIT_CONTENT_DETECTION. + * Config for OBJECT_TRACKING. * * @property {string} model - * Model to use for explicit content detection. + * Model to use for object tracking. * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * - * @typedef ExplicitContentDetectionConfig + * @typedef ObjectTrackingConfig * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + * @see [google.cloud.videointelligence.v1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -const ExplicitContentDetectionConfig = { +const ObjectTrackingConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -215,18 +215,18 @@ const FaceDetectionConfig = { }; /** - * Config for OBJECT_TRACKING. + * Config for EXPLICIT_CONTENT_DETECTION. * * @property {string} model - * Model to use for object tracking. + * Model to use for explicit content detection. * Supported values: "builtin/stable" (the default if unset) and * "builtin/latest". * - * @typedef ObjectTrackingConfig + * @typedef ExplicitContentDetectionConfig * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} + * @see [google.cloud.videointelligence.v1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} */ -const ObjectTrackingConfig = { +const ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -520,8 +520,11 @@ const FaceAnnotation = { * * @property {Object[]} segmentPresenceLabelAnnotations * Presence label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. This will eventually - * get publicly exposed and the restriction will be removed. + * There is exactly one element for each unique label. Compared to the + * existing topical `segment_label_annotations`, this field presents more + * fine-grained, segment-level labels detected in video content and is made + * available only when the client sets `LabelDetectionConfig.model` to + * "builtin/latest" in the request. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} * @@ -533,8 +536,10 @@ const FaceAnnotation = { * * @property {Object[]} shotPresenceLabelAnnotations * Presence label annotations on shot level. There is exactly one element for - * each unique label. This will eventually get publicly exposed and the - * restriction will be removed. + * each unique label. Compared to the existing topical + * `shot_label_annotations`, this field presents more fine-grained, shot-level + * labels detected in video content and is made available only when the client + * sets `LabelDetectionConfig.model` to "builtin/latest" in the request. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} * @@ -671,32 +676,32 @@ const AnnotateVideoProgress = { * Config for SPEECH_TRANSCRIPTION. * * @property {string} languageCode - * *Required* The language of the supplied audio as a + * Required. *Required* The language of the supplied audio as a * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. * Example: "en-US". * See [Language Support](https://cloud.google.com/speech/docs/languages) * for a list of the currently supported language codes. * * @property {number} maxAlternatives - * *Optional* Maximum number of recognition hypotheses to be returned. + * Optional. Maximum number of recognition hypotheses to be returned. * Specifically, the maximum number of `SpeechRecognitionAlternative` messages * within each `SpeechTranscription`. The server may return fewer than * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will * return a maximum of one. If omitted, will return a maximum of one. * * @property {boolean} filterProfanity - * *Optional* If set to `true`, the server will attempt to filter out + * Optional. If set to `true`, the server will attempt to filter out * profanities, replacing all but the initial character in each filtered word * with asterisks, e.g. "f***". If set to `false` or omitted, profanities * won't be filtered out. * * @property {Object[]} speechContexts - * *Optional* A means to provide context to assist the speech recognition. + * Optional. A means to provide context to assist the speech recognition. * * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1.SpeechContext} * * @property {boolean} enableAutomaticPunctuation - * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * Optional. If 'true', adds punctuation to recognition result hypotheses. * This feature is only available in select languages. Setting this for * requests in other languages has no effect at all. The default 'false' value * does not add punctuation to result hypotheses. NOTE: "This is currently @@ -704,11 +709,11 @@ const AnnotateVideoProgress = { * future this may be exclusively available as a premium feature." * * @property {number[]} audioTracks - * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * Optional. For file formats, such as MXF or MKV, supporting multiple audio * tracks, specify up to two tracks. Default: track 0. * * @property {boolean} enableSpeakerDiarization - * *Optional* If 'true', enables speaker detection for each recognized word in + * Optional. If 'true', enables speaker detection for each recognized word in * the top alternative of the recognition result using a speaker_tag provided * in the WordInfo. * Note: When this is true, we send all the words from the beginning of the @@ -717,13 +722,12 @@ const AnnotateVideoProgress = { * identify the speakers in the conversation over time. * * @property {number} diarizationSpeakerCount - * *Optional* - * If set, specifies the estimated number of speakers in the conversation. + * Optional. If set, specifies the estimated number of speakers in the conversation. * If not set, defaults to '2'. * Ignored unless enable_speaker_diarization is set to true. * * @property {boolean} enableWordConfidence - * *Optional* If `true`, the top result includes a list of words and the + * Optional. If `true`, the top result includes a list of words and the * confidence for those words. If `false`, no word-level confidence * information is returned. The default is `false`. * @@ -740,7 +744,7 @@ const SpeechTranscriptionConfig = { * in the results. * * @property {string[]} phrases - * *Optional* A list of strings containing words and phrases "hints" so that + * Optional. A list of strings containing words and phrases "hints" so that * the speech recognition is more likely to recognize them. This can be used * to improve the accuracy for specific words and phrases, for example, if * specific commands are typically spoken by the user. This can also be used @@ -767,10 +771,9 @@ const SpeechContext = { * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative} * * @property {string} languageCode - * Output only. The - * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the - * language in this result. This language code was detected to have the most - * likelihood of being spoken in the audio. + * Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of + * the language in this result. This language code was detected to have the + * most likelihood of being spoken in the audio. * * @typedef SpeechTranscription * @memberof google.cloud.videointelligence.v1 diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index e79cf34cb5b..1116b978713 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js @@ -243,38 +243,38 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. + * @param {number[]} request.features + * Required. Requested video annotation features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} * @param {string} [request.inputUri] * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {Buffer} [request.inputContent] * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {number[]} [request.features] - * Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} * @param {Object} [request.videoContext] * Additional video context and/or feature-specific parameters. * * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @param {Object} [options] @@ -296,12 +296,12 @@ class VideoIntelligenceServiceClient { * // optional auth parameters. * }); * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const request = { - * inputUri: inputUri, * features: features, + * inputUri: inputUri, * }; * * // Handle the operation using the promise pattern. @@ -321,12 +321,12 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const request = { - * inputUri: inputUri, * features: features, + * inputUri: inputUri, * }; * * // Handle the operation using the event emitter pattern. @@ -355,12 +355,12 @@ class VideoIntelligenceServiceClient { * console.error(err); * }); * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const featuresElement = 'LABEL_DETECTION'; * const features = [featuresElement]; + * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; * const request = { - * inputUri: inputUri, * features: features, + * inputUri: inputUri, * }; * * // Handle the operation using the await pattern. diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json index ce79585551c..2a907f4060f 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -10,19 +10,19 @@ }, "retry_params": { "default": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 2.5, - "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, + "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": 120000, + "max_rpc_timeout_millis": 20000, "total_timeout_millis": 600000 } }, "methods": { "AnnotateVideo": { - "timeout_millis": 600000, - "retry_codes_name": "idempotent", + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", "retry_params_name": "default" } } diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 5c40948a6a7..324177475df 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-10-01T11:36:54.388073Z", + "updateTime": "2019-10-12T11:35:39.369088Z", "sources": [ { "generator": { "name": "artman", - "version": "0.37.1", - "dockerImage": "googleapis/artman@sha256:6068f67900a3f0bdece596b97bda8fc70406ca0e137a941f4c81d3217c994a80" + "version": "0.39.0", + "dockerImage": "googleapis/artman@sha256:72554d0b3bdc0b4ac7d6726a6a606c00c14b454339037ed86be94574fb05d9f3" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ce3c574d1266026cebea3a893247790bd68191c2", - "internalRef": "272147209" + "sha": "af8dd2c1750558b538eaa6bdaa3bc899079533ee", + "internalRef": "274260771" } }, { @@ -35,16 +35,6 @@ "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" } }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1beta1.yaml" - } - }, { "client": { "source": "googleapis", diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 1b4046b61d5..b8e48288276 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -63,12 +63,12 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const request = { - inputUri: inputUri, features: features, + inputUri: inputUri, }; // Mock response @@ -104,12 +104,12 @@ describe('VideoIntelligenceServiceClient', () => { ); // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const request = { - inputUri: inputUri, features: features, + inputUri: inputUri, }; // Mock Grpc layer From be41a85933954046c790d3e6938a0ae761954199 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Sat, 12 Oct 2019 12:29:25 -0700 Subject: [PATCH 213/418] chore: release 2.5.1 (#308) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index d014260c34b..292294585aa 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.5.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.0...v2.5.1) (2019-10-12) + + +### Bug Fixes + +* update retry logic and remove unused protos ([#307](https://www.github.com/googleapis/nodejs-video-intelligence/issues/307)) ([c42afbc](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c42afbc327958f515ad5589ed03271490fd3b4fc)) + ## [2.5.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.4.0...v2.5.0) (2019-10-11) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 296209c6726..e2f03fa103d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.5.0", + "version": "2.5.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { From a0f48b28231a20a46237842fd890e3f37445fdec Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 22 Oct 2019 10:54:50 -0700 Subject: [PATCH 214/418] fix(deps): bump google-gax to 1.7.5 (#309) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e2f03fa103d..dea055901a6 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -41,7 +41,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "google-gax": "^1.6.3", + "google-gax": "^1.7.5", "protobufjs": "^6.8.8" }, "devDependencies": { From a3b6422686d947c1f1c226f9a47789a435615d44 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 23 Oct 2019 12:29:17 -0700 Subject: [PATCH 215/418] fix(tests): use alternate video for integration tests (#311) --- packages/google-cloud-videointelligence/samples/quickstart.js | 2 +- .../system-test/video_intelligence_service_smoke_test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 5adc54b73ae..6b5ba4d0fd6 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -23,7 +23,7 @@ async function main() { const client = new videoIntelligence.VideoIntelligenceServiceClient(); // The GCS uri of the video to analyze - const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; + const gcsUri = 'gs://cloud-samples-data/video/cat.mp4'; // Construct request const request = { diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index 71e8addaa80..93ecf729e3e 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -24,7 +24,7 @@ describe('VideoIntelligenceServiceSmokeTest', () => { } ); - const inputUri = 'gs://videodemomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { @@ -71,7 +71,7 @@ describe('VideoIntelligenceServiceSmokeTest', () => { } ); - const inputUri = 'gs://videodemomaker/cat.mp4'; + const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { From f55fca8c4349186abe78c8c892e3ea21710438c9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 28 Oct 2019 18:22:04 -0700 Subject: [PATCH 216/418] docs: update sample video endpoint --- packages/google-cloud-videointelligence/README.md | 2 +- .../google-cloud-videointelligence/synth.metadata | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 7adfdc64332..7625888d8cd 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -62,7 +62,7 @@ npm install @google-cloud/video-intelligence const client = new videoIntelligence.VideoIntelligenceServiceClient(); // The GCS uri of the video to analyze - const gcsUri = 'gs://nodejs-docs-samples-video/quickstart_short.mp4'; + const gcsUri = 'gs://cloud-samples-data/video/cat.mp4'; // Construct request const request = { diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 324177475df..6e4516702e8 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-10-12T11:35:39.369088Z", + "updateTime": "2019-10-24T11:34:12.531568Z", "sources": [ { "generator": { "name": "artman", - "version": "0.39.0", - "dockerImage": "googleapis/artman@sha256:72554d0b3bdc0b4ac7d6726a6a606c00c14b454339037ed86be94574fb05d9f3" + "version": "0.40.2", + "dockerImage": "googleapis/artman@sha256:3b8f7d9b4c206843ce08053474f5c64ae4d388ff7d995e68b59fb65edf73eeb9" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "af8dd2c1750558b538eaa6bdaa3bc899079533ee", - "internalRef": "274260771" + "sha": "698b05fe2b05893dfe74a156a5665f879de7fceb", + "internalRef": "276276483" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.5.2" + "version": "2019.10.17" } } ], From b88edf0a4da1da56485c1112c6e4ca88deab98c6 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2019 15:49:33 -0700 Subject: [PATCH 217/418] chore: release 2.5.2 (#310) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 292294585aa..144431ff0cd 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.5.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.1...v2.5.2) (2019-10-29) + + +### Bug Fixes + +* **deps:** bump google-gax to 1.7.5 ([#309](https://www.github.com/googleapis/nodejs-video-intelligence/issues/309)) ([deb8d2f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/deb8d2fef29b949cbe76d76b88e0b26852a0c0d8)) +* **tests:** use alternate video for integration tests ([#311](https://www.github.com/googleapis/nodejs-video-intelligence/issues/311)) ([7cf9042](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7cf9042b4051c84a10537061b24757f2fc0c4f66)) + ### [2.5.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.0...v2.5.1) (2019-10-12) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index dea055901a6..3429321005e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.5.1", + "version": "2.5.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a1ff7db12b5..3c56b182a80 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.3.0", + "@google-cloud/video-intelligence": "^2.5.2", "yargs": "^14.0.0" }, "devDependencies": { From 9c04f5b59994def542021eed07726a4e71b8a1fa Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 1 Nov 2019 12:46:44 -0700 Subject: [PATCH 218/418] test: don't exclude src/ in coverage --- packages/google-cloud-videointelligence/.nycrc | 1 - packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index 23e322204ec..367688844eb 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -10,7 +10,6 @@ "**/docs", "**/samples", "**/scripts", - "**/src/**/v*/**/*.js", "**/protos", "**/test", ".jsdoc.js", diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 6e4516702e8..643d49b536b 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-10-24T11:34:12.531568Z", + "updateTime": "2019-11-01T19:22:42.406175Z", "sources": [ { "generator": { "name": "artman", - "version": "0.40.2", - "dockerImage": "googleapis/artman@sha256:3b8f7d9b4c206843ce08053474f5c64ae4d388ff7d995e68b59fb65edf73eeb9" + "version": "0.41.0", + "dockerImage": "googleapis/artman@sha256:75b38a3b073a7b243545f2332463096624c802bb1e56b8cb6f22ba1ecd325fa9" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "698b05fe2b05893dfe74a156a5665f879de7fceb", - "internalRef": "276276483" + "sha": "bba93d7148ff203d400a4929cd0fbc7dafd8dae2", + "internalRef": "277920288" } }, { From 2317fbdd9cd3021bb80277bc3c145a8363e8dfb1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 7 Nov 2019 11:31:12 -0800 Subject: [PATCH 219/418] feat: support celebrity recognition (#316) --- .../v1p3beta1/video_intelligence.proto | 228 ++- .../protos/protos.d.ts | 426 ++++- .../protos/protos.js | 1563 ++++++++++++++--- .../protos/protos.json | 202 ++- .../v1p3beta1/doc_video_intelligence.js | 200 ++- ...aming_video_intelligence_service_client.js | 2 +- .../video_intelligence_service_client.js | 6 +- .../synth.metadata | 6 +- 8 files changed, 2280 insertions(+), 353 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index e37726e0b1a..1203b315283 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.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,8 @@ syntax = "proto3"; package google.cloud.videointelligence.v1p3beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -29,10 +31,13 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p3beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; -option ruby_package = "Google::Cloud::VideoIntelligence::V1p3beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). @@ -43,16 +48,25 @@ service VideoIntelligenceService { post: "/v1p3beta1/videos:annotate" body: "*" }; + option (google.api.method_signature) = "input_uri,features"; + option (google.longrunning.operation_info) = { + response_type: "AnnotateVideoResponse" + metadata_type: "AnnotateVideoProgress" + }; } } -// Service that implements Google Cloud Video Intelligence Streaming API. +// Service that implements streaming Google Cloud Video Intelligence API. service StreamingVideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + // Performs video annotation with bidirectional streaming: emitting results // while sending video/audio bytes. // This method is only available via the gRPC API (not REST). rpc StreamingAnnotateVideo(stream StreamingAnnotateVideoRequest) - returns (stream StreamingAnnotateVideoResponse); + returns (stream StreamingAnnotateVideoResponse) {} } // Video annotation request. @@ -74,24 +88,24 @@ message AnnotateVideoRequest { // If set, `input_uri` should be unset. bytes input_content = 6; - // Requested video annotation features. - repeated Feature features = 2; + // Required. Requested video annotation features. + repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED]; // Additional video context and/or feature-specific parameters. VideoContext video_context = 3; - // Optional location where the output (in JSON format) should be stored. + // Optional. Location where the output (in JSON format) should be stored. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For // more information, see [Request URIs](/storage/docs/reference-uris). - string output_uri = 4; + string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional cloud region where annotation should take place. Supported cloud + // Optional. Cloud region where annotation should take place. Supported cloud // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region // is specified, a region will be determined based on video file location. - string location_id = 5; + string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } // Video context and/or feature-specific parameters. @@ -290,8 +304,7 @@ message NormalizedBoundingBox { float bottom = 4; } -// For tracking related features, such as LOGO_RECOGNITION, FACE_DETECTION, -// CELEBRITY_RECOGNITION, PERSON_DETECTION. +// For tracking related features. // An object at time_offset with attributes, and located with // normalized_bounding_box. message TimestampedObject { @@ -303,7 +316,8 @@ message TimestampedObject { google.protobuf.Duration time_offset = 2; // Optional. The attributes of the object in the bounding box. - repeated DetectedAttribute attributes = 3; + repeated DetectedAttribute attributes = 3 + [(google.api.field_behavior) = OPTIONAL]; } // A track of an object instance. @@ -315,10 +329,11 @@ message Track { repeated TimestampedObject timestamped_objects = 2; // Optional. Attributes in the track level. - repeated DetectedAttribute attributes = 3; + repeated DetectedAttribute attributes = 3 + [(google.api.field_behavior) = OPTIONAL]; // Optional. The confidence score of the tracked object. - float confidence = 4; + float confidence = 4 [(google.api.field_behavior) = OPTIONAL]; } // A generic detected attribute represented by name in string format. @@ -335,20 +350,80 @@ message DetectedAttribute { string value = 3; } +// Celebrity definition. +message Celebrity { + // The resource name of the celebrity. Have the format + // `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery. + // kg-mid is the id in Google knowledge graph, which is unique for the + // celebrity. + string name = 1; + + // The celebrity name. + string display_name = 2; + + // Textual description of additional information about the celebrity, if + // applicable. + string description = 3; +} + +// The annotation result of a celebrity face track. RecognizedCelebrity field +// could be empty if the face track does not have any matched celebrities. +message CelebrityTrack { + // The recognized celebrity with confidence score. + message RecognizedCelebrity { + // The recognized celebrity. + Celebrity celebrity = 1; + + // Recognition confidence. Range [0, 1]. + float confidence = 2; + } + + // Top N match of the celebrities for the face in this track. + repeated RecognizedCelebrity celebrities = 1; + + // A track of a person's face. + Track face_track = 3; +} + +// Celebrity recognition annotation per video. +message CelebrityRecognitionAnnotation { + // The tracks detected from the input video, including recognized celebrities + // and other detected faces in the video. + repeated CelebrityTrack celebrity_tracks = 1; +} + // Annotation results for a single video. message VideoAnnotationResults { // Video file location in // [Google Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; - // Label annotations on video level or user specified segment level. + // Video segment on which the annotation is run. + VideoSegment segment = 10; + + // Topical label annotations on video level or user specified segment level. // There is exactly one element for each unique label. repeated LabelAnnotation segment_label_annotations = 2; - // Label annotations on shot level. + // Presence label annotations on video level or user specified segment level. + // There is exactly one element for each unique label. Compared to the + // existing topical `segment_label_annotations`, this field presents more + // fine-grained, segment-level labels detected in video content and is made + // available only when the client sets `LabelDetectionConfig.model` to + // "builtin/latest" in the request. + repeated LabelAnnotation segment_presence_label_annotations = 23; + + // Topical label annotations on shot level. // There is exactly one element for each unique label. repeated LabelAnnotation shot_label_annotations = 3; + // Presence label annotations on shot level. There is exactly one element for + // each unique label. Compared to the existing topical + // `shot_label_annotations`, this field presents more fine-grained, shot-level + // labels detected in video content and is made available only when the client + // sets `LabelDetectionConfig.model` to "builtin/latest" in the request. + repeated LabelAnnotation shot_presence_label_annotations = 24; + // Label annotations on frame level. // There is exactly one element for each unique label. repeated LabelAnnotation frame_label_annotations = 4; @@ -373,6 +448,9 @@ message VideoAnnotationResults { // Annotations for list of logos detected, tracked and recognized in video. repeated LogoRecognitionAnnotation logo_recognition_annotations = 19; + // Celebrity recognition annotations. + CelebrityRecognitionAnnotation celebrity_recognition_annotations = 21; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -401,6 +479,14 @@ message VideoAnnotationProgress { // Time of the most recent update. google.protobuf.Timestamp update_time = 4; + + // Specifies which feature is being tracked if the request contains more than + // one features. + Feature feature = 5; + + // Specifies which segment is being tracked if the request contains more than + // one segments. + VideoSegment segment = 6; } // Video annotation progress. Included in the `metadata` @@ -413,72 +499,73 @@ message AnnotateVideoProgress { // Config for SPEECH_TRANSCRIPTION. message SpeechTranscriptionConfig { - // *Required* The language of the supplied audio as a + // Required. *Required* The language of the supplied audio as a // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. // Example: "en-US". // See [Language Support](https://cloud.google.com/speech/docs/languages) // for a list of the currently supported language codes. - string language_code = 1; + string language_code = 1 [(google.api.field_behavior) = REQUIRED]; - // *Optional* Maximum number of recognition hypotheses to be returned. + // Optional. Maximum number of recognition hypotheses to be returned. // Specifically, the maximum number of `SpeechRecognitionAlternative` messages // within each `SpeechTranscription`. The server may return fewer than // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will // return a maximum of one. If omitted, will return a maximum of one. - int32 max_alternatives = 2; + int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If set to `true`, the server will attempt to filter out + // Optional. If set to `true`, the server will attempt to filter out // profanities, replacing all but the initial character in each filtered word // with asterisks, e.g. "f***". If set to `false` or omitted, profanities // won't be filtered out. - bool filter_profanity = 3; + bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* A means to provide context to assist the speech recognition. - repeated SpeechContext speech_contexts = 4; + // Optional. A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4 + [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // Optional. If 'true', adds punctuation to recognition result hypotheses. // This feature is only available in select languages. Setting this for // requests in other languages has no effect at all. The default 'false' value // does not add punctuation to result hypotheses. NOTE: "This is currently // offered as an experimental service, complimentary to all users. In the // future this may be exclusively available as a premium feature." - bool enable_automatic_punctuation = 5; + bool enable_automatic_punctuation = 5 + [(google.api.field_behavior) = OPTIONAL]; - // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // Optional. For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. - repeated int32 audio_tracks = 6; + repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If 'true', enables speaker detection for each recognized word in + // Optional. If 'true', enables speaker detection for each recognized word in // the top alternative of the recognition result using a speaker_tag provided // in the WordInfo. // Note: When this is true, we send all the words from the beginning of the // audio for the top alternative in every consecutive responses. // This is done in order to improve our speaker tags as our models learn to // identify the speakers in the conversation over time. - bool enable_speaker_diarization = 7; + bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* - // If set, specifies the estimated number of speakers in the conversation. - // If not set, defaults to '2'. - // Ignored unless enable_speaker_diarization is set to true. - int32 diarization_speaker_count = 8; + // Optional. If set, specifies the estimated number of speakers in the + // conversation. If not set, defaults to '2'. Ignored unless + // enable_speaker_diarization is set to true. + int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If `true`, the top result includes a list of words and the + // Optional. If `true`, the top result includes a list of words and the // confidence for those words. If `false`, no word-level confidence // information is returned. The default is `false`. - bool enable_word_confidence = 9; + bool enable_word_confidence = 9 [(google.api.field_behavior) = OPTIONAL]; } // Provides "hints" to the speech recognizer to favor specific words and phrases // in the results. message SpeechContext { - // *Optional* A list of strings containing words and phrases "hints" so that + // Optional. A list of strings containing words and phrases "hints" so that // the speech recognition is more likely to recognize them. This can be used // to improve the accuracy for specific words and phrases, for example, if // specific commands are typically spoken by the user. This can also be used // to add additional words to the vocabulary of the recognizer. See // [usage limits](https://cloud.google.com/speech/limits#content). - repeated string phrases = 1; + repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL]; } // A speech recognition result corresponding to a portion of the audio. @@ -489,11 +576,10 @@ message SpeechTranscription { // ranked by the recognizer. repeated SpeechRecognitionAlternative alternatives = 1; - // Output only. The - // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the - // language in this result. This language code was detected to have the most - // likelihood of being spoken in the audio. - string language_code = 2; + // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) + // language tag of the language in this result. This language code was + // detected to have the most likelihood of being spoken in the audio. + string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Alternative hypotheses (a.k.a. n-best list). @@ -501,16 +587,18 @@ message SpeechRecognitionAlternative { // Transcript text representing the words that the user spoke. string transcript = 1; - // The confidence estimate between 0.0 and 1.0. A higher number + // Output only. The confidence estimate between 0.0 and 1.0. A higher number // indicates an estimated greater likelihood that the recognized words are - // correct. This field is typically provided only for the top hypothesis, and - // only for `is_final=true` results. Clients should not rely on the - // `confidence` field as it is not guaranteed to be accurate or consistent. + // correct. This field is set only for the top alternative. + // This field is not guaranteed to be accurate and users should not rely on it + // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. - float confidence = 2; + float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // A list of word-specific information for each recognized word. - repeated WordInfo words = 3; + // Output only. A list of word-specific information for each recognized word. + // Note: When `enable_speaker_diarization` is true, you will see all the words + // from the beginning of the audio. + repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Word-specific information for recognized words. Word information is only @@ -538,13 +626,13 @@ message WordInfo { // This field is not guaranteed to be accurate and users should not rely on it // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. - float confidence = 4; + float confidence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A distinct integer value is assigned for every speaker within // the audio. This field specifies which one of those speakers was detected to // have spoken this word. Value ranges from 1 up to diarization_speaker_count, // and is only set if speaker diarization is enabled. - int32 speaker_tag = 5; + int32 speaker_tag = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A vertex represents a 2D point in the image. @@ -645,6 +733,7 @@ message ObjectTrackingAnnotation { // Non-streaming batch mode ONLY. // Each object track corresponds to one video segment where it appears. VideoSegment segment = 3; + // Streaming mode ONLY. // In streaming mode, we do not know the end time of a tracked object // before it is completed. Hence, there is no VideoSegment info returned. @@ -712,26 +801,24 @@ message StreamingAnnotateVideoResponse { string annotation_results_uri = 3; } -// Config for AUTOML_CLASSIFICATION in streaming mode. +// Config for STREAMING_AUTOML_CLASSIFICATION. message StreamingAutomlClassificationConfig { // Resource name of AutoML model. // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` string model_name = 1; } -// Config for AUTOML_OBJECT_TRACKING in streaming mode. +// Config for STREAMING_AUTOML_OBJECT_TRACKING. message StreamingAutomlObjectTrackingConfig { // Resource name of AutoML model. // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` string model_name = 1; } -// Config for EXPLICIT_CONTENT_DETECTION in streaming mode. -message StreamingExplicitContentDetectionConfig { - // No customized config support. -} +// Config for STREAMING_EXPLICIT_CONTENT_DETECTION. +message StreamingExplicitContentDetectionConfig {} -// Config for LABEL_DETECTION in streaming mode. +// Config for STREAMING_LABEL_DETECTION. message StreamingLabelDetectionConfig { // Whether the video has been captured from a stationary (i.e. non-moving) // camera. When set to true, might improve detection accuracy for moving @@ -740,14 +827,10 @@ message StreamingLabelDetectionConfig { } // Config for STREAMING_OBJECT_TRACKING. -message StreamingObjectTrackingConfig { - // No customized config support. -} +message StreamingObjectTrackingConfig {} -// Config for SHOT_CHANGE_DETECTION in streaming mode. -message StreamingShotChangeDetectionConfig { - // No customized config support. -} +// Config for STREAMING_SHOT_CHANGE_DETECTION. +message StreamingShotChangeDetectionConfig {} // Config for streaming storage option. message StreamingStorageConfig { @@ -840,6 +923,9 @@ enum Feature { // Logo detection, tracking, and recognition. LOGO_RECOGNITION = 12; + + // Celebrity recognition. + CELEBRITY_RECOGNITION = 13; } // Label detection mode. @@ -882,16 +968,22 @@ enum Likelihood { enum StreamingFeature { // Unspecified. STREAMING_FEATURE_UNSPECIFIED = 0; + // Label detection. Detect objects, such as dog or flower. STREAMING_LABEL_DETECTION = 1; + // Shot change detection. STREAMING_SHOT_CHANGE_DETECTION = 2; + // Explicit content detection. STREAMING_EXPLICIT_CONTENT_DETECTION = 3; + // Object detection and tracking. STREAMING_OBJECT_TRACKING = 4; + // Video classification based on AutoML model. STREAMING_AUTOML_CLASSIFICATION = 21; + // Object detection and tracking based on AutoML model. STREAMING_AUTOML_OBJECT_TRACKING = 22; } diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 640360af1ea..f9a3737a0bb 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -12592,18 +12592,414 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a Celebrity. */ + interface ICelebrity { + + /** 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.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.ICelebrity): google.cloud.videointelligence.v1p3beta1.Celebrity; + + /** + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.Celebrity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Celebrity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CelebrityTrack. */ + interface ICelebrityTrack { + + /** CelebrityTrack celebrities */ + celebrities?: (google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity[]|null); + + /** CelebrityTrack faceTrack */ + faceTrack?: (google.cloud.videointelligence.v1p3beta1.ITrack|null); + } + + /** Represents a CelebrityTrack. */ + class CelebrityTrack implements ICelebrityTrack { + + /** + * Constructs a new CelebrityTrack. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack); + + /** CelebrityTrack celebrities. */ + public celebrities: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity[]; + + /** CelebrityTrack faceTrack. */ + public faceTrack?: (google.cloud.videointelligence.v1p3beta1.ITrack|null); + + /** + * Creates a new CelebrityTrack instance using the specified properties. + * @param [properties] Properties to set + * @returns CelebrityTrack instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack): google.cloud.videointelligence.v1p3beta1.CelebrityTrack; + + /** + * Encodes the specified CelebrityTrack message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @param message CelebrityTrack message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CelebrityTrack message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @param message CelebrityTrack message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityTrack; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityTrack; + + /** + * Verifies a CelebrityTrack message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CelebrityTrack message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CelebrityTrack + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityTrack; + + /** + * Creates a plain object from a CelebrityTrack message. Also converts values to other types if specified. + * @param message CelebrityTrack + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CelebrityTrack to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace CelebrityTrack { + + /** Properties of a RecognizedCelebrity. */ + interface IRecognizedCelebrity { + + /** RecognizedCelebrity celebrity */ + celebrity?: (google.cloud.videointelligence.v1p3beta1.ICelebrity|null); + + /** RecognizedCelebrity confidence */ + confidence?: (number|null); + } + + /** Represents a RecognizedCelebrity. */ + class RecognizedCelebrity implements IRecognizedCelebrity { + + /** + * Constructs a new RecognizedCelebrity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity); + + /** RecognizedCelebrity celebrity. */ + public celebrity?: (google.cloud.videointelligence.v1p3beta1.ICelebrity|null); + + /** RecognizedCelebrity confidence. */ + public confidence: number; + + /** + * Creates a new RecognizedCelebrity instance using the specified properties. + * @param [properties] Properties to set + * @returns RecognizedCelebrity instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity; + + /** + * Encodes the specified RecognizedCelebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @param message RecognizedCelebrity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RecognizedCelebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @param message RecognizedCelebrity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity; + + /** + * Verifies a RecognizedCelebrity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RecognizedCelebrity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RecognizedCelebrity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity; + + /** + * Creates a plain object from a RecognizedCelebrity message. Also converts values to other types if specified. + * @param message RecognizedCelebrity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RecognizedCelebrity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a CelebrityRecognitionAnnotation. */ + interface ICelebrityRecognitionAnnotation { + + /** CelebrityRecognitionAnnotation celebrityTracks */ + celebrityTracks?: (google.cloud.videointelligence.v1p3beta1.ICelebrityTrack[]|null); + } + + /** Represents a CelebrityRecognitionAnnotation. */ + class CelebrityRecognitionAnnotation implements ICelebrityRecognitionAnnotation { + + /** + * Constructs a new CelebrityRecognitionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation); + + /** CelebrityRecognitionAnnotation celebrityTracks. */ + public celebrityTracks: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack[]; + + /** + * Creates a new CelebrityRecognitionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CelebrityRecognitionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @param message CelebrityRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @param message CelebrityRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation; + + /** + * Verifies a CelebrityRecognitionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CelebrityRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CelebrityRecognitionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation; + + /** + * Creates a plain object from a CelebrityRecognitionAnnotation message. Also converts values to other types if specified. + * @param message CelebrityRecognitionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CelebrityRecognitionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a VideoAnnotationResults. */ interface IVideoAnnotationResults { /** VideoAnnotationResults inputUri */ inputUri?: (string|null); + /** VideoAnnotationResults segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + /** VideoAnnotationResults segmentLabelAnnotations */ segmentLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + /** VideoAnnotationResults segmentPresenceLabelAnnotations */ + segmentPresenceLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + /** VideoAnnotationResults shotLabelAnnotations */ shotLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + /** VideoAnnotationResults shotPresenceLabelAnnotations */ + shotPresenceLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + /** VideoAnnotationResults frameLabelAnnotations */ frameLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); @@ -12625,6 +13021,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations */ logoRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]|null); + /** VideoAnnotationResults celebrityRecognitionAnnotations */ + celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null); + /** VideoAnnotationResults error */ error?: (google.rpc.IStatus|null); } @@ -12641,12 +13040,21 @@ export namespace google { /** VideoAnnotationResults inputUri. */ public inputUri: string; + /** VideoAnnotationResults segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + /** VideoAnnotationResults segmentLabelAnnotations. */ public segmentLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + /** VideoAnnotationResults segmentPresenceLabelAnnotations. */ + public segmentPresenceLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + /** VideoAnnotationResults shotLabelAnnotations. */ public shotLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + /** VideoAnnotationResults shotPresenceLabelAnnotations. */ + public shotPresenceLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + /** VideoAnnotationResults frameLabelAnnotations. */ public frameLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; @@ -12668,6 +13076,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations. */ public logoRecognitionAnnotations: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]; + /** VideoAnnotationResults celebrityRecognitionAnnotations. */ + public celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null); + /** VideoAnnotationResults error. */ public error?: (google.rpc.IStatus|null); @@ -12846,6 +13257,12 @@ export namespace google { /** VideoAnnotationProgress updateTime */ updateTime?: (google.protobuf.ITimestamp|null); + + /** VideoAnnotationProgress feature */ + feature?: (google.cloud.videointelligence.v1p3beta1.Feature|null); + + /** VideoAnnotationProgress segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); } /** Represents a VideoAnnotationProgress. */ @@ -12869,6 +13286,12 @@ export namespace google { /** VideoAnnotationProgress updateTime. */ public updateTime?: (google.protobuf.ITimestamp|null); + /** VideoAnnotationProgress feature. */ + public feature: google.cloud.videointelligence.v1p3beta1.Feature; + + /** VideoAnnotationProgress segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + /** * Creates a new VideoAnnotationProgress instance using the specified properties. * @param [properties] Properties to set @@ -15436,7 +15859,8 @@ export namespace google { SPEECH_TRANSCRIPTION = 6, TEXT_DETECTION = 7, OBJECT_TRACKING = 9, - LOGO_RECOGNITION = 12 + LOGO_RECOGNITION = 12, + CELEBRITY_RECOGNITION = 13 } /** LabelDetectionMode enum. */ diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 76bf08c40ee..88867f9a978 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -27152,6 +27152,7 @@ case 7: case 9: case 12: + case 13: break; } } @@ -27227,6 +27228,10 @@ case 12: message.features[i] = 12; break; + case "CELEBRITY_RECOGNITION": + case 13: + message.features[i] = 13; + break; } } if (object.videoContext != null) { @@ -31473,42 +31478,26 @@ return DetectedAttribute; })(); - v1p3beta1.VideoAnnotationResults = (function() { + v1p3beta1.Celebrity = (function() { /** - * Properties of a VideoAnnotationResults. + * Properties of a Celebrity. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IVideoAnnotationResults - * @property {string|null} [inputUri] VideoAnnotationResults inputUri - * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations - * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations - * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations - * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations - * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation - * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions - * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations - * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations - * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations - * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + * @interface ICelebrity + * @property {string|null} [name] Celebrity name + * @property {string|null} [displayName] Celebrity displayName + * @property {string|null} [description] Celebrity description */ /** - * Constructs a new VideoAnnotationResults. + * Constructs a new Celebrity. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a VideoAnnotationResults. - * @implements IVideoAnnotationResults + * @classdesc Represents a Celebrity. + * @implements ICelebrity * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set */ - function VideoAnnotationResults(properties) { - this.segmentLabelAnnotations = []; - this.shotLabelAnnotations = []; - this.frameLabelAnnotations = []; - this.shotAnnotations = []; - this.speechTranscriptions = []; - this.textAnnotations = []; - this.objectAnnotations = []; - this.logoRecognitionAnnotations = []; + function Celebrity(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31516,229 +31505,101 @@ } /** - * VideoAnnotationResults inputUri. - * @member {string} inputUri - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.inputUri = ""; - - /** - * VideoAnnotationResults segmentLabelAnnotations. - * @member {Array.} segmentLabelAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotLabelAnnotations. - * @member {Array.} shotLabelAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults frameLabelAnnotations. - * @member {Array.} frameLabelAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotAnnotations. - * @member {Array.} shotAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults explicitAnnotation. - * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.explicitAnnotation = null; - - /** - * VideoAnnotationResults speechTranscriptions. - * @member {Array.} speechTranscriptions - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; - - /** - * VideoAnnotationResults textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults objectAnnotations. - * @member {Array.} objectAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * Celebrity name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @instance */ - VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + Celebrity.prototype.name = ""; /** - * VideoAnnotationResults logoRecognitionAnnotations. - * @member {Array.} logoRecognitionAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * Celebrity displayName. + * @member {string} displayName + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @instance */ - VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + Celebrity.prototype.displayName = ""; /** - * VideoAnnotationResults error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * Celebrity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @instance */ - VideoAnnotationResults.prototype.error = null; + Celebrity.prototype.description = ""; /** - * Creates a new VideoAnnotationResults instance using the specified properties. + * Creates a new Celebrity instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults instance + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity instance */ - VideoAnnotationResults.create = function create(properties) { - return new VideoAnnotationResults(properties); + Celebrity.create = function create(properties) { + return new Celebrity(properties); }; /** - * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity} message Celebrity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoAnnotationResults.encode = function encode(message, writer) { + Celebrity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) - for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) - for (var i = 0; i < message.shotLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) - for (var i = 0; i < message.frameLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.shotAnnotations != null && message.shotAnnotations.length) - for (var i = 0; i < message.shotAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) - $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.speechTranscriptions != null && message.speechTranscriptions.length) - for (var i = 0; i < message.speechTranscriptions.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.objectAnnotations != null && message.objectAnnotations.length) - for (var i = 0; i < message.objectAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) - for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + 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 VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity} message Celebrity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + Celebrity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * Decodes a Celebrity message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoAnnotationResults.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.videointelligence.v1p3beta1.VideoAnnotationResults(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Celebrity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputUri = reader.string(); + message.name = reader.string(); break; case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + message.displayName = reader.string(); break; case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 11: - if (!(message.speechTranscriptions && message.speechTranscriptions.length)) - message.speechTranscriptions = []; - message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.decode(reader, reader.uint32())); - break; - case 12: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.decode(reader, reader.uint32())); - break; - case 14: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); - break; - case 19: - if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) - message.logoRecognitionAnnotations = []; - message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.description = reader.string(); break; default: reader.skipType(tag & 7); @@ -31749,45 +31610,1158 @@ }; /** - * Decodes a VideoAnnotationResults 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.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoAnnotationResults.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 VideoAnnotationResults message. + * Verifies a Celebrity message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VideoAnnotationResults.verify = function verify(message) { + Celebrity.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - if (!$util.isString(message.inputUri)) - return "inputUri: string expected"; - if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { - if (!Array.isArray(message.segmentLabelAnnotations)) - return "segmentLabelAnnotations: array expected"; - for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); - if (error) - return "segmentLabelAnnotations." + error; - } + 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 Celebrity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + */ + Celebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Celebrity) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.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 Celebrity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.Celebrity} message Celebrity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Celebrity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; } - if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { + 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. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @instance + * @returns {Object.} JSON object + */ + Celebrity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Celebrity; + })(); + + v1p3beta1.CelebrityTrack = (function() { + + /** + * Properties of a CelebrityTrack. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ICelebrityTrack + * @property {Array.|null} [celebrities] CelebrityTrack celebrities + * @property {google.cloud.videointelligence.v1p3beta1.ITrack|null} [faceTrack] CelebrityTrack faceTrack + */ + + /** + * Constructs a new CelebrityTrack. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a CelebrityTrack. + * @implements ICelebrityTrack + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set + */ + function CelebrityTrack(properties) { + this.celebrities = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CelebrityTrack celebrities. + * @member {Array.} celebrities + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + */ + CelebrityTrack.prototype.celebrities = $util.emptyArray; + + /** + * CelebrityTrack faceTrack. + * @member {google.cloud.videointelligence.v1p3beta1.ITrack|null|undefined} faceTrack + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + */ + CelebrityTrack.prototype.faceTrack = null; + + /** + * Creates a new CelebrityTrack instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack instance + */ + CelebrityTrack.create = function create(properties) { + return new CelebrityTrack(properties); + }; + + /** + * Encodes the specified CelebrityTrack message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityTrack.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrities != null && message.celebrities.length) + for (var i = 0; i < message.celebrities.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.encode(message.celebrities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) + $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.faceTrack, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CelebrityTrack message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityTrack.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityTrack.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.celebrities && message.celebrities.length)) + message.celebrities = []; + message.celebrities.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.decode(reader, reader.uint32())); + break; + case 3: + message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityTrack.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CelebrityTrack message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CelebrityTrack.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.celebrities != null && message.hasOwnProperty("celebrities")) { + if (!Array.isArray(message.celebrities)) + return "celebrities: array expected"; + for (var i = 0; i < message.celebrities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify(message.celebrities[i]); + if (error) + return "celebrities." + error; + } + } + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.faceTrack); + if (error) + return "faceTrack." + error; + } + return null; + }; + + /** + * Creates a CelebrityTrack message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + */ + CelebrityTrack.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); + if (object.celebrities) { + if (!Array.isArray(object.celebrities)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: array expected"); + message.celebrities = []; + for (var i = 0; i < object.celebrities.length; ++i) { + if (typeof object.celebrities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: object expected"); + message.celebrities[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.fromObject(object.celebrities[i]); + } + } + if (object.faceTrack != null) { + if (typeof object.faceTrack !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.faceTrack: object expected"); + message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.faceTrack); + } + return message; + }; + + /** + * Creates a plain object from a CelebrityTrack message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} message CelebrityTrack + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CelebrityTrack.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.celebrities = []; + if (options.defaults) + object.faceTrack = null; + if (message.celebrities && message.celebrities.length) { + object.celebrities = []; + for (var j = 0; j < message.celebrities.length; ++j) + object.celebrities[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.toObject(message.celebrities[j], options); + } + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) + object.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.faceTrack, options); + return object; + }; + + /** + * Converts this CelebrityTrack to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + * @returns {Object.} JSON object + */ + CelebrityTrack.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + CelebrityTrack.RecognizedCelebrity = (function() { + + /** + * Properties of a RecognizedCelebrity. + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @interface IRecognizedCelebrity + * @property {google.cloud.videointelligence.v1p3beta1.ICelebrity|null} [celebrity] RecognizedCelebrity celebrity + * @property {number|null} [confidence] RecognizedCelebrity confidence + */ + + /** + * Constructs a new RecognizedCelebrity. + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @classdesc Represents a RecognizedCelebrity. + * @implements IRecognizedCelebrity + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity=} [properties] Properties to set + */ + function RecognizedCelebrity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RecognizedCelebrity celebrity. + * @member {google.cloud.videointelligence.v1p3beta1.ICelebrity|null|undefined} celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + */ + RecognizedCelebrity.prototype.celebrity = null; + + /** + * RecognizedCelebrity confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + */ + RecognizedCelebrity.prototype.confidence = 0; + + /** + * Creates a new RecognizedCelebrity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity instance + */ + RecognizedCelebrity.create = function create(properties) { + return new RecognizedCelebrity(properties); + }; + + /** + * Encodes the specified RecognizedCelebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RecognizedCelebrity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + $root.google.cloud.videointelligence.v1p3beta1.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 RecognizedCelebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RecognizedCelebrity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RecognizedCelebrity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RecognizedCelebrity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RecognizedCelebrity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RecognizedCelebrity.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.videointelligence.v1p3beta1.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 RecognizedCelebrity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + */ + RecognizedCelebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); + if (object.celebrity != null) { + if (typeof object.celebrity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.celebrity: object expected"); + message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.fromObject(object.celebrity); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a RecognizedCelebrity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} message RecognizedCelebrity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RecognizedCelebrity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.celebrity = null; + object.confidence = 0; + } + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + object.celebrity = $root.google.cloud.videointelligence.v1p3beta1.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 RecognizedCelebrity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + * @returns {Object.} JSON object + */ + RecognizedCelebrity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RecognizedCelebrity; + })(); + + return CelebrityTrack; + })(); + + v1p3beta1.CelebrityRecognitionAnnotation = (function() { + + /** + * Properties of a CelebrityRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ICelebrityRecognitionAnnotation + * @property {Array.|null} [celebrityTracks] CelebrityRecognitionAnnotation celebrityTracks + */ + + /** + * Constructs a new CelebrityRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a CelebrityRecognitionAnnotation. + * @implements ICelebrityRecognitionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set + */ + function CelebrityRecognitionAnnotation(properties) { + this.celebrityTracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CelebrityRecognitionAnnotation celebrityTracks. + * @member {Array.} celebrityTracks + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @instance + */ + CelebrityRecognitionAnnotation.prototype.celebrityTracks = $util.emptyArray; + + /** + * Creates a new CelebrityRecognitionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation instance + */ + CelebrityRecognitionAnnotation.create = function create(properties) { + return new CelebrityRecognitionAnnotation(properties); + }; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityRecognitionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrityTracks != null && message.celebrityTracks.length) + for (var i = 0; i < message.celebrityTracks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.encode(message.celebrityTracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityRecognitionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityRecognitionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.celebrityTracks && message.celebrityTracks.length)) + message.celebrityTracks = []; + message.celebrityTracks.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityRecognitionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CelebrityRecognitionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CelebrityRecognitionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.celebrityTracks != null && message.hasOwnProperty("celebrityTracks")) { + if (!Array.isArray(message.celebrityTracks)) + return "celebrityTracks: array expected"; + for (var i = 0; i < message.celebrityTracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify(message.celebrityTracks[i]); + if (error) + return "celebrityTracks." + error; + } + } + return null; + }; + + /** + * Creates a CelebrityRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + */ + CelebrityRecognitionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); + if (object.celebrityTracks) { + if (!Array.isArray(object.celebrityTracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: array expected"); + message.celebrityTracks = []; + for (var i = 0; i < object.celebrityTracks.length; ++i) { + if (typeof object.celebrityTracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: object expected"); + message.celebrityTracks[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.fromObject(object.celebrityTracks[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CelebrityRecognitionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CelebrityRecognitionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.celebrityTracks = []; + if (message.celebrityTracks && message.celebrityTracks.length) { + object.celebrityTracks = []; + for (var j = 0; j < message.celebrityTracks.length; ++j) + object.celebrityTracks[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.toObject(message.celebrityTracks[j], options); + } + return object; + }; + + /** + * Converts this CelebrityRecognitionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @instance + * @returns {Object.} JSON object + */ + CelebrityRecognitionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CelebrityRecognitionAnnotation; + })(); + + v1p3beta1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] VideoAnnotationResults segment + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [segmentPresenceLabelAnnotations] VideoAnnotationResults segmentPresenceLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions + * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations + * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations + * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations + * @property {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null} [celebrityRecognitionAnnotations] VideoAnnotationResults celebrityRecognitionAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.segmentPresenceLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.shotPresenceLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.shotAnnotations = []; + this.speechTranscriptions = []; + this.textAnnotations = []; + this.objectAnnotations = []; + this.logoRecognitionAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segment = null; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults segmentPresenceLabelAnnotations. + * @member {Array.} segmentPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotPresenceLabelAnnotations. + * @member {Array.} shotPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults speechTranscriptions. + * @member {Array.} speechTranscriptions + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + + /** + * VideoAnnotationResults textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults logoRecognitionAnnotations. + * @member {Array.} logoRecognitionAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults celebrityRecognitionAnnotations. + * @member {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null|undefined} celebrityRecognitionAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.celebrityRecognitionAnnotations = null; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.speechTranscriptions != null && message.speechTranscriptions.length) + for (var i = 0; i < message.speechTranscriptions.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) + for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) + $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.encode(message.celebrityRecognitionAnnotations, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) + for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.shotPresenceLabelAnnotations != null && message.shotPresenceLabelAnnotations.length) + for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.shotPresenceLabelAnnotations[i], writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 10: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 23: + if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) + message.segmentPresenceLabelAnnotations = []; + message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 24: + if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) + message.shotPresenceLabelAnnotations = []; + message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 7: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 11: + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.decode(reader, reader.uint32())); + break; + case 12: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.decode(reader, reader.uint32())); + break; + case 14: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + case 19: + if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) + message.logoRecognitionAnnotations = []; + message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); + break; + case 21: + message.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.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 a VideoAnnotationResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VideoAnnotationResults message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VideoAnnotationResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (!$util.isString(message.inputUri)) + return "inputUri: string expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) { + if (!Array.isArray(message.segmentLabelAnnotations)) + return "segmentLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]); + if (error) + return "segmentLabelAnnotations." + error; + } + } + if (message.segmentPresenceLabelAnnotations != null && message.hasOwnProperty("segmentPresenceLabelAnnotations")) { + if (!Array.isArray(message.segmentPresenceLabelAnnotations)) + return "segmentPresenceLabelAnnotations: array expected"; + for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.segmentPresenceLabelAnnotations[i]); + if (error) + return "segmentPresenceLabelAnnotations." + error; + } + } + if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) { if (!Array.isArray(message.shotLabelAnnotations)) return "shotLabelAnnotations: array expected"; for (var i = 0; i < message.shotLabelAnnotations.length; ++i) { @@ -31796,6 +32770,15 @@ return "shotLabelAnnotations." + error; } } + if (message.shotPresenceLabelAnnotations != null && message.hasOwnProperty("shotPresenceLabelAnnotations")) { + if (!Array.isArray(message.shotPresenceLabelAnnotations)) + return "shotPresenceLabelAnnotations: array expected"; + for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify(message.shotPresenceLabelAnnotations[i]); + if (error) + return "shotPresenceLabelAnnotations." + error; + } + } if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) { if (!Array.isArray(message.frameLabelAnnotations)) return "frameLabelAnnotations: array expected"; @@ -31855,6 +32838,11 @@ return "logoRecognitionAnnotations." + error; } } + if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify(message.celebrityRecognitionAnnotations); + if (error) + return "celebrityRecognitionAnnotations." + error; + } if (message.error != null && message.hasOwnProperty("error")) { var error = $root.google.rpc.Status.verify(message.error); if (error) @@ -31877,6 +32865,11 @@ var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults(); if (object.inputUri != null) message.inputUri = String(object.inputUri); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } if (object.segmentLabelAnnotations) { if (!Array.isArray(object.segmentLabelAnnotations)) throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segmentLabelAnnotations: array expected"); @@ -31887,6 +32880,16 @@ message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]); } } + if (object.segmentPresenceLabelAnnotations) { + if (!Array.isArray(object.segmentPresenceLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segmentPresenceLabelAnnotations: array expected"); + message.segmentPresenceLabelAnnotations = []; + for (var i = 0; i < object.segmentPresenceLabelAnnotations.length; ++i) { + if (typeof object.segmentPresenceLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.segmentPresenceLabelAnnotations: object expected"); + message.segmentPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.segmentPresenceLabelAnnotations[i]); + } + } if (object.shotLabelAnnotations) { if (!Array.isArray(object.shotLabelAnnotations)) throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotLabelAnnotations: array expected"); @@ -31897,6 +32900,16 @@ message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]); } } + if (object.shotPresenceLabelAnnotations) { + if (!Array.isArray(object.shotPresenceLabelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotPresenceLabelAnnotations: array expected"); + message.shotPresenceLabelAnnotations = []; + for (var i = 0; i < object.shotPresenceLabelAnnotations.length; ++i) { + if (typeof object.shotPresenceLabelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotPresenceLabelAnnotations: object expected"); + message.shotPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.shotPresenceLabelAnnotations[i]); + } + } if (object.frameLabelAnnotations) { if (!Array.isArray(object.frameLabelAnnotations)) throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.frameLabelAnnotations: array expected"); @@ -31962,6 +32975,11 @@ message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]); } } + if (object.celebrityRecognitionAnnotations != null) { + if (typeof object.celebrityRecognitionAnnotations !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.celebrityRecognitionAnnotations: object expected"); + message.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.fromObject(object.celebrityRecognitionAnnotations); + } if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.error: object expected"); @@ -31992,11 +33010,15 @@ object.textAnnotations = []; object.objectAnnotations = []; object.logoRecognitionAnnotations = []; + object.segmentPresenceLabelAnnotations = []; + object.shotPresenceLabelAnnotations = []; } if (options.defaults) { object.inputUri = ""; object.explicitAnnotation = null; object.error = null; + object.segment = null; + object.celebrityRecognitionAnnotations = null; } if (message.inputUri != null && message.hasOwnProperty("inputUri")) object.inputUri = message.inputUri; @@ -32024,6 +33046,8 @@ object.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); if (message.error != null && message.hasOwnProperty("error")) object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); if (message.speechTranscriptions && message.speechTranscriptions.length) { object.speechTranscriptions = []; for (var j = 0; j < message.speechTranscriptions.length; ++j) @@ -32044,6 +33068,18 @@ for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j) object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options); } + if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) + object.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.toObject(message.celebrityRecognitionAnnotations, options); + if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) { + object.segmentPresenceLabelAnnotations = []; + for (var j = 0; j < message.segmentPresenceLabelAnnotations.length; ++j) + object.segmentPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.segmentPresenceLabelAnnotations[j], options); + } + if (message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length) { + object.shotPresenceLabelAnnotations = []; + for (var j = 0; j < message.shotPresenceLabelAnnotations.length; ++j) + object.shotPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.shotPresenceLabelAnnotations[j], options); + } return object; }; @@ -32279,6 +33315,8 @@ * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime + * @property {google.cloud.videointelligence.v1p3beta1.Feature|null} [feature] VideoAnnotationProgress feature + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] VideoAnnotationProgress segment */ /** @@ -32328,6 +33366,22 @@ */ VideoAnnotationProgress.prototype.updateTime = null; + /** + * VideoAnnotationProgress feature. + * @member {google.cloud.videointelligence.v1p3beta1.Feature} feature + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.feature = 0; + + /** + * VideoAnnotationProgress segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @instance + */ + VideoAnnotationProgress.prototype.segment = null; + /** * Creates a new VideoAnnotationProgress instance using the specified properties. * @function create @@ -32360,6 +33414,10 @@ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.updateTime != null && message.hasOwnProperty("updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.feature != null && message.hasOwnProperty("feature")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.feature); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -32406,6 +33464,12 @@ case 4: message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; + case 5: + message.feature = reader.int32(); + break; + case 6: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -32457,6 +33521,26 @@ if (error) return "updateTime." + error; } + if (message.feature != null && message.hasOwnProperty("feature")) + switch (message.feature) { + default: + return "feature: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 6: + case 7: + case 9: + case 12: + case 13: + break; + } + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } return null; }; @@ -32486,6 +33570,49 @@ throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.updateTime: object expected"); message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); } + switch (object.feature) { + case "FEATURE_UNSPECIFIED": + case 0: + message.feature = 0; + break; + case "LABEL_DETECTION": + case 1: + message.feature = 1; + break; + case "SHOT_CHANGE_DETECTION": + case 2: + message.feature = 2; + break; + case "EXPLICIT_CONTENT_DETECTION": + case 3: + message.feature = 3; + break; + case "SPEECH_TRANSCRIPTION": + case 6: + message.feature = 6; + break; + case "TEXT_DETECTION": + case 7: + message.feature = 7; + break; + case "OBJECT_TRACKING": + case 9: + message.feature = 9; + break; + case "LOGO_RECOGNITION": + case 12: + message.feature = 12; + break; + case "CELEBRITY_RECOGNITION": + case 13: + message.feature = 13; + break; + } + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } return message; }; @@ -32507,6 +33634,8 @@ object.progressPercent = 0; object.startTime = null; object.updateTime = null; + object.feature = options.enums === String ? "FEATURE_UNSPECIFIED" : 0; + object.segment = null; } if (message.inputUri != null && message.hasOwnProperty("inputUri")) object.inputUri = message.inputUri; @@ -32516,6 +33645,10 @@ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); if (message.updateTime != null && message.hasOwnProperty("updateTime")) object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + if (message.feature != null && message.hasOwnProperty("feature")) + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.feature] : message.feature; + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); return object; }; @@ -38638,6 +39771,7 @@ * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value + * @property {number} CELEBRITY_RECOGNITION=13 CELEBRITY_RECOGNITION value */ v1p3beta1.Feature = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -38649,6 +39783,7 @@ values[valuesById[7] = "TEXT_DETECTION"] = 7; values[valuesById[9] = "OBJECT_TRACKING"] = 9; values[valuesById[12] = "LOGO_RECOGNITION"] = 12; + values[valuesById[13] = "CELEBRITY_RECOGNITION"] = 13; return values; })(); diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index a0707e84038..23e6e570f45 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -1974,23 +1974,33 @@ "java_multiple_files": true, "java_outer_classname": "VideoIntelligenceServiceProto", "java_package": "com.google.cloud.videointelligence.v1p3beta1", - "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1", - "ruby_package": "Google::Cloud::VideoIntelligence::V1p3beta1" + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1" }, "nested": { "VideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, "methods": { "AnnotateVideo": { "requestType": "AnnotateVideoRequest", "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p3beta1/videos:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "input_uri,features", + "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", + "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" } } } }, "StreamingVideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, "methods": { "StreamingAnnotateVideo": { "requestType": "StreamingAnnotateVideoRequest", @@ -2013,7 +2023,10 @@ "features": { "rule": "repeated", "type": "Feature", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "videoContext": { "type": "VideoContext", @@ -2021,11 +2034,17 @@ }, "outputUri": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "locationId": { "type": "string", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2252,7 +2271,10 @@ "attributes": { "rule": "repeated", "type": "DetectedAttribute", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2270,11 +2292,17 @@ "attributes": { "rule": "repeated", "type": "DetectedAttribute", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "confidence": { "type": "float", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2294,22 +2322,88 @@ } } }, + "Celebrity": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "CelebrityTrack": { + "fields": { + "celebrities": { + "rule": "repeated", + "type": "RecognizedCelebrity", + "id": 1 + }, + "faceTrack": { + "type": "Track", + "id": 3 + } + }, + "nested": { + "RecognizedCelebrity": { + "fields": { + "celebrity": { + "type": "Celebrity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + } + } + }, + "CelebrityRecognitionAnnotation": { + "fields": { + "celebrityTracks": { + "rule": "repeated", + "type": "CelebrityTrack", + "id": 1 + } + } + }, "VideoAnnotationResults": { "fields": { "inputUri": { "type": "string", "id": 1 }, + "segment": { + "type": "VideoSegment", + "id": 10 + }, "segmentLabelAnnotations": { "rule": "repeated", "type": "LabelAnnotation", "id": 2 }, + "segmentPresenceLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 23 + }, "shotLabelAnnotations": { "rule": "repeated", "type": "LabelAnnotation", "id": 3 }, + "shotPresenceLabelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 24 + }, "frameLabelAnnotations": { "rule": "repeated", "type": "LabelAnnotation", @@ -2344,6 +2438,10 @@ "type": "LogoRecognitionAnnotation", "id": 19 }, + "celebrityRecognitionAnnotations": { + "type": "CelebrityRecognitionAnnotation", + "id": 21 + }, "error": { "type": "google.rpc.Status", "id": 9 @@ -2376,6 +2474,14 @@ "updateTime": { "type": "google.protobuf.Timestamp", "id": 4 + }, + "feature": { + "type": "Feature", + "id": 5 + }, + "segment": { + "type": "VideoSegment", + "id": 6 } } }, @@ -2392,41 +2498,68 @@ "fields": { "languageCode": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "maxAlternatives": { "type": "int32", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "filterProfanity": { "type": "bool", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "speechContexts": { "rule": "repeated", "type": "SpeechContext", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableAutomaticPunctuation": { "type": "bool", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "audioTracks": { "rule": "repeated", "type": "int32", - "id": 6 + "id": 6, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableSpeakerDiarization": { "type": "bool", - "id": 7 + "id": 7, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "diarizationSpeakerCount": { "type": "int32", - "id": 8 + "id": 8, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableWordConfidence": { "type": "bool", - "id": 9 + "id": 9, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2435,7 +2568,10 @@ "phrases": { "rule": "repeated", "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2448,7 +2584,10 @@ }, "languageCode": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -2460,12 +2599,18 @@ }, "confidence": { "type": "float", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "words": { "rule": "repeated", "type": "WordInfo", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -2485,11 +2630,17 @@ }, "confidence": { "type": "float", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "speakerTag": { "type": "int32", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -2780,7 +2931,8 @@ "SPEECH_TRANSCRIPTION": 6, "TEXT_DETECTION": 7, "OBJECT_TRACKING": 9, - "LOGO_RECOGNITION": 12 + "LOGO_RECOGNITION": 12, + "CELEBRITY_RECOGNITION": 13 } }, "LabelDetectionMode": { diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index ca9bb557cc3..03414ab804d 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -36,7 +36,7 @@ * If set, `input_uri` should be unset. * * @property {number[]} features - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} * @@ -46,7 +46,7 @@ * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} * * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return @@ -54,7 +54,7 @@ * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @@ -413,8 +413,7 @@ const NormalizedBoundingBox = { }; /** - * For tracking related features, such as LOGO_RECOGNITION, FACE_DETECTION, - * CELEBRITY_RECOGNITION, PERSON_DETECTION. + * For tracking related features. * An object at time_offset with attributes, and located with * normalized_bounding_box. * @@ -493,6 +492,88 @@ const DetectedAttribute = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Celebrity definition. + * + * @property {string} name + * The resource name of the celebrity. Have the format + * `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery. + * kg-mid is the id in Google knowledge graph, which is unique for the + * celebrity. + * + * @property {string} displayName + * The celebrity name. + * + * @property {string} description + * Textual description of additional information about the celebrity, if + * applicable. + * + * @typedef Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.Celebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const Celebrity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The annotation result of a celebrity face track. RecognizedCelebrity field + * could be empty if the face track does not have any matched celebrities. + * + * @property {Object[]} celebrities + * Top N match of the celebrities for the face in this track. + * + * This object should have the same structure as [RecognizedCelebrity]{@link google.cloud.videointelligence.v1p3beta1.RecognizedCelebrity} + * + * @property {Object} faceTrack + * A track of a person's face. + * + * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} + * + * @typedef CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.CelebrityTrack definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const CelebrityTrack = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * The recognized celebrity with confidence score. + * + * @property {Object} celebrity + * The recognized celebrity. + * + * This object should have the same structure as [Celebrity]{@link google.cloud.videointelligence.v1p3beta1.Celebrity} + * + * @property {number} confidence + * Recognition confidence. Range [0, 1]. + * + * @typedef RecognizedCelebrity + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ + RecognizedCelebrity: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Celebrity recognition annotation per video. + * + * @property {Object[]} celebrityTracks + * The tracks detected from the input video, including recognized celebrities + * and other detected faces in the video. + * + * This object should have the same structure as [CelebrityTrack]{@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack} + * + * @typedef CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const CelebrityRecognitionAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Annotation results for a single video. * @@ -500,18 +581,42 @@ const DetectedAttribute = { * Video file location in * [Google Cloud Storage](https://cloud.google.com/storage/). * + * @property {Object} segment + * Video segment on which the annotation is run. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * * @property {Object[]} segmentLabelAnnotations - * Label annotations on video level or user specified segment level. + * Topical label annotations on video level or user specified segment level. * There is exactly one element for each unique label. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} * + * @property {Object[]} segmentPresenceLabelAnnotations + * Presence label annotations on video level or user specified segment level. + * There is exactly one element for each unique label. Compared to the + * existing topical `segment_label_annotations`, this field presents more + * fine-grained, segment-level labels detected in video content and is made + * available only when the client sets `LabelDetectionConfig.model` to + * "builtin/latest" in the request. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * * @property {Object[]} shotLabelAnnotations - * Label annotations on shot level. + * Topical label annotations on shot level. * There is exactly one element for each unique label. * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} * + * @property {Object[]} shotPresenceLabelAnnotations + * Presence label annotations on shot level. There is exactly one element for + * each unique label. Compared to the existing topical + * `shot_label_annotations`, this field presents more fine-grained, shot-level + * labels detected in video content and is made available only when the client + * sets `LabelDetectionConfig.model` to "builtin/latest" in the request. + * + * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} + * * @property {Object[]} frameLabelAnnotations * Label annotations on frame level. * There is exactly one element for each unique label. @@ -550,6 +655,11 @@ const DetectedAttribute = { * * This object should have the same structure as [LogoRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} * + * @property {Object} celebrityRecognitionAnnotations + * Celebrity recognition annotations. + * + * This object should have the same structure as [CelebrityRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} + * * @property {Object} error * If set, indicates an error. Note that for a single `AnnotateVideoRequest` * some videos may succeed and some may fail. @@ -603,6 +713,18 @@ const AnnotateVideoResponse = { * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * + * @property {number} feature + * Specifies which feature is being tracked if the request contains more than + * one features. + * + * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} + * + * @property {Object} segment + * Specifies which segment is being tracked if the request contains more than + * one segments. + * + * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} + * * @typedef VideoAnnotationProgress * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -633,32 +755,32 @@ const AnnotateVideoProgress = { * Config for SPEECH_TRANSCRIPTION. * * @property {string} languageCode - * *Required* The language of the supplied audio as a + * Required. *Required* The language of the supplied audio as a * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. * Example: "en-US". * See [Language Support](https://cloud.google.com/speech/docs/languages) * for a list of the currently supported language codes. * * @property {number} maxAlternatives - * *Optional* Maximum number of recognition hypotheses to be returned. + * Optional. Maximum number of recognition hypotheses to be returned. * Specifically, the maximum number of `SpeechRecognitionAlternative` messages * within each `SpeechTranscription`. The server may return fewer than * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will * return a maximum of one. If omitted, will return a maximum of one. * * @property {boolean} filterProfanity - * *Optional* If set to `true`, the server will attempt to filter out + * Optional. If set to `true`, the server will attempt to filter out * profanities, replacing all but the initial character in each filtered word * with asterisks, e.g. "f***". If set to `false` or omitted, profanities * won't be filtered out. * * @property {Object[]} speechContexts - * *Optional* A means to provide context to assist the speech recognition. + * Optional. A means to provide context to assist the speech recognition. * * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p3beta1.SpeechContext} * * @property {boolean} enableAutomaticPunctuation - * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * Optional. If 'true', adds punctuation to recognition result hypotheses. * This feature is only available in select languages. Setting this for * requests in other languages has no effect at all. The default 'false' value * does not add punctuation to result hypotheses. NOTE: "This is currently @@ -666,11 +788,11 @@ const AnnotateVideoProgress = { * future this may be exclusively available as a premium feature." * * @property {number[]} audioTracks - * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * Optional. For file formats, such as MXF or MKV, supporting multiple audio * tracks, specify up to two tracks. Default: track 0. * * @property {boolean} enableSpeakerDiarization - * *Optional* If 'true', enables speaker detection for each recognized word in + * Optional. If 'true', enables speaker detection for each recognized word in * the top alternative of the recognition result using a speaker_tag provided * in the WordInfo. * Note: When this is true, we send all the words from the beginning of the @@ -679,13 +801,12 @@ const AnnotateVideoProgress = { * identify the speakers in the conversation over time. * * @property {number} diarizationSpeakerCount - * *Optional* - * If set, specifies the estimated number of speakers in the conversation. - * If not set, defaults to '2'. - * Ignored unless enable_speaker_diarization is set to true. + * Optional. If set, specifies the estimated number of speakers in the + * conversation. If not set, defaults to '2'. Ignored unless + * enable_speaker_diarization is set to true. * * @property {boolean} enableWordConfidence - * *Optional* If `true`, the top result includes a list of words and the + * Optional. If `true`, the top result includes a list of words and the * confidence for those words. If `false`, no word-level confidence * information is returned. The default is `false`. * @@ -702,7 +823,7 @@ const SpeechTranscriptionConfig = { * in the results. * * @property {string[]} phrases - * *Optional* A list of strings containing words and phrases "hints" so that + * Optional. A list of strings containing words and phrases "hints" so that * the speech recognition is more likely to recognize them. This can be used * to improve the accuracy for specific words and phrases, for example, if * specific commands are typically spoken by the user. This can also be used @@ -729,10 +850,9 @@ const SpeechContext = { * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} * * @property {string} languageCode - * Output only. The - * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the - * language in this result. This language code was detected to have the most - * likelihood of being spoken in the audio. + * Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) + * language tag of the language in this result. This language code was + * detected to have the most likelihood of being spoken in the audio. * * @typedef SpeechTranscription * @memberof google.cloud.videointelligence.v1p3beta1 @@ -749,15 +869,17 @@ const SpeechTranscription = { * Transcript text representing the words that the user spoke. * * @property {number} confidence - * The confidence estimate between 0.0 and 1.0. A higher number + * Output only. The confidence estimate between 0.0 and 1.0. A higher number * indicates an estimated greater likelihood that the recognized words are - * correct. This field is typically provided only for the top hypothesis, and - * only for `is_final=true` results. Clients should not rely on the - * `confidence` field as it is not guaranteed to be accurate or consistent. + * correct. This field is set only for the top alternative. + * This field is not guaranteed to be accurate and users should not rely on it + * to be always provided. * The default of 0.0 is a sentinel value indicating `confidence` was not set. * * @property {Object[]} words - * A list of word-specific information for each recognized word. + * Output only. A list of word-specific information for each recognized word. + * Note: When `enable_speaker_diarization` is true, you will see all the words + * from the beginning of the audio. * * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1p3beta1.WordInfo} * @@ -1088,7 +1210,7 @@ const StreamingAnnotateVideoResponse = { }; /** - * Config for AUTOML_CLASSIFICATION in streaming mode. + * Config for STREAMING_AUTOML_CLASSIFICATION. * * @property {string} modelName * Resource name of AutoML model. @@ -1103,7 +1225,7 @@ const StreamingAutomlClassificationConfig = { }; /** - * Config for AUTOML_OBJECT_TRACKING in streaming mode. + * Config for STREAMING_AUTOML_OBJECT_TRACKING. * * @property {string} modelName * Resource name of AutoML model. @@ -1118,8 +1240,7 @@ const StreamingAutomlObjectTrackingConfig = { }; /** - * Config for EXPLICIT_CONTENT_DETECTION in streaming mode. - * No customized config support. + * Config for STREAMING_EXPLICIT_CONTENT_DETECTION. * @typedef StreamingExplicitContentDetectionConfig * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -1129,7 +1250,7 @@ const StreamingExplicitContentDetectionConfig = { }; /** - * Config for LABEL_DETECTION in streaming mode. + * Config for STREAMING_LABEL_DETECTION. * * @property {boolean} stationaryCamera * Whether the video has been captured from a stationary (i.e. non-moving) @@ -1146,7 +1267,6 @@ const StreamingLabelDetectionConfig = { /** * Config for STREAMING_OBJECT_TRACKING. - * No customized config support. * @typedef StreamingObjectTrackingConfig * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -1156,8 +1276,7 @@ const StreamingObjectTrackingConfig = { }; /** - * Config for SHOT_CHANGE_DETECTION in streaming mode. - * No customized config support. + * Config for STREAMING_SHOT_CHANGE_DETECTION. * @typedef StreamingShotChangeDetectionConfig * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -1322,7 +1441,12 @@ const Feature = { /** * Logo detection, tracking, and recognition. */ - LOGO_RECOGNITION: 12 + LOGO_RECOGNITION: 12, + + /** + * Celebrity recognition. + */ + CELEBRITY_RECOGNITION: 13 }; /** diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index b8b5b8159c9..0726af7157a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js @@ -21,7 +21,7 @@ const path = require('path'); const VERSION = require('../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence Streaming API. + * Service that implements streaming Google Cloud Video Intelligence API. * * @class * @memberof v1p3beta1 diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 307d8f55002..42407e28fdd 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js @@ -260,7 +260,7 @@ class VideoIntelligenceServiceClient { * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. * @param {number[]} [request.features] - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} * @param {Object} [request.videoContext] @@ -268,14 +268,14 @@ class VideoIntelligenceServiceClient { * * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * google.rpc.Code.INVALID_ARGUMENT). For * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @param {Object} [options] diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 643d49b536b..c307e50fd55 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-01T19:22:42.406175Z", + "updateTime": "2019-11-06T12:26:49.375089Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bba93d7148ff203d400a4929cd0fbc7dafd8dae2", - "internalRef": "277920288" + "sha": "5691fcb7c1a926b52577aa1834f31d9c50efda54", + "internalRef": "278731899" } }, { From 03a3a4333c671d135144225f971b8a1146bfaa02 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2019 20:51:40 -0800 Subject: [PATCH 220/418] chore: release 2.6.0 (#317) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 144431ff0cd..7aff4951e7c 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.6.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.2...v2.6.0) (2019-11-07) + + +### Features + +* support celebrity recognition ([#316](https://www.github.com/googleapis/nodejs-video-intelligence/issues/316)) ([a7235d3](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a7235d301fe55936e06e7daa27daeeae341a22c2)) + ### [2.5.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.1...v2.5.2) (2019-10-29) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3429321005e..d8f0b545fa0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.5.2", + "version": "2.6.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 3c56b182a80..b76e7ee635a 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.5.2", + "@google-cloud/video-intelligence": "^2.6.0", "yargs": "^14.0.0" }, "devDependencies": { From b3edcd1a3090dfa0af964a9b60c2871327548f13 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 12 Nov 2019 09:21:13 -0800 Subject: [PATCH 221/418] fix(docs): snippets are now replaced in jsdoc comments (#320) --- packages/google-cloud-videointelligence/.jsdoc.js | 3 ++- packages/google-cloud-videointelligence/package.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 7e0c8251baf..c596be4132d 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index d8f0b545fa0..197944de992 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -53,6 +53,7 @@ "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.1.4", "nyc": "^14.1.1", From 075189aabf92a5506d98b2b6ce3a7b52d5b7fd0c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 13 Nov 2019 12:54:53 -0800 Subject: [PATCH 222/418] fix: import long into proto ts declaration file (#321) --- .../google-cloud-videointelligence/protos/protos.d.ts | 1 + packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index f9a3737a0bb..247bb5d1745 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c307e50fd55..1db609e7d68 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-11-06T12:26:49.375089Z", + "updateTime": "2019-11-12T12:29:41.750637Z", "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": "f69562be0608904932bdcfbc5ad8b9a22d9dceb8", + "internalRef": "279774957" } }, { From 9b51f46f5ca61199506d867bdf97a761c8208348 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2019 17:36:46 -0800 Subject: [PATCH 223/418] chore: release 2.6.1 (#322) --- packages/google-cloud-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 7aff4951e7c..802dca29e84 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.6.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.0...v2.6.1) (2019-11-14) + + +### Bug Fixes + +* **docs:** snippets are now replaced in jsdoc comments ([#320](https://www.github.com/googleapis/nodejs-video-intelligence/issues/320)) ([db2a759](https://www.github.com/googleapis/nodejs-video-intelligence/commit/db2a759cadf4a554b1287b30776445237f4332b7)) +* import long into proto ts declaration file ([#321](https://www.github.com/googleapis/nodejs-video-intelligence/issues/321)) ([adbe31e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/adbe31e503edc6c1031a7ca03fb3a4fd5d78b090)) + ## [2.6.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.2...v2.6.0) (2019-11-07) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 197944de992..65b6e3b0abe 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.0", + "version": "2.6.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index b76e7ee635a..e97eb2b23fb 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.0", + "@google-cloud/video-intelligence": "^2.6.1", "yargs": "^14.0.0" }, "devDependencies": { From a5a3b34da7ed76d2694c17dd9273c92f140160ca Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 15 Nov 2019 09:48:15 -0800 Subject: [PATCH 224/418] docs: adds license header --- .../protos/protos.d.ts | 14 ++++++++++++++ .../google-cloud-videointelligence/synth.metadata | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 247bb5d1745..47d7d2fd532 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 1db609e7d68..5cf0adea82e 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-12T12:29:41.750637Z", + "updateTime": "2019-11-14T12:29:07.650003Z", "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 0f45b309986ba9034457403fcd06280ebb5320fe Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Nov 2019 21:50:05 +0100 Subject: [PATCH 225/418] fix(deps): update dependency yargs to v15 (#326) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e97eb2b23fb..ab277084c06 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@google-cloud/video-intelligence": "^2.6.1", - "yargs": "^14.0.0" + "yargs": "^15.0.0" }, "devDependencies": { "chai": "^4.2.0", From d6257d42ecd9107bd9fb03a9b8e712fb2a95a1c5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 18 Nov 2019 13:37:51 -0800 Subject: [PATCH 226/418] docs: adding license header --- .../protos/protos.js | 14 ++++++++++++++ .../google-cloud-videointelligence/synth.metadata | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 88867f9a978..3ee2d812d34 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 5cf0adea82e..f18513c2073 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-14T12:29:07.650003Z", + "updateTime": "2019-11-16T12:25:18.844424Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4f747bda9b099b4426f495985680d16d0227fa5f", - "internalRef": "280394936" + "sha": "c89394342a9ef70acaf73a6959e04b943fbc817b", + "internalRef": "280761373" } }, { From 40aaaf11de49b1dc40258f1695f4b1bfe8a7ca6b 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:51:27 -0800 Subject: [PATCH 227/418] chore: release 2.6.2 (#327) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 802dca29e84..75370958254 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.6.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.1...v2.6.2) (2019-11-18) + + +### Bug Fixes + +* **deps:** update dependency yargs to v15 ([#326](https://www.github.com/googleapis/nodejs-video-intelligence/issues/326)) ([849ea31](https://www.github.com/googleapis/nodejs-video-intelligence/commit/849ea311dcf3987ac823683c209cf9aad917e468)) + ### [2.6.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.0...v2.6.1) (2019-11-14) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 65b6e3b0abe..31945f6902c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.1", + "version": "2.6.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index ab277084c06..bf6865f06e4 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.1", + "@google-cloud/video-intelligence": "^2.6.2", "yargs": "^15.0.0" }, "devDependencies": { From b0dcd0be301492c2c804d3d0e742a0b06851beae Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Nov 2019 08:56:18 -0800 Subject: [PATCH 228/418] chore: update license headers (#329) --- .../samples/quickstart.js | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 6b5ba4d0fd6..66866db4f46 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/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'; async function main() { From fbcaf3951ff9e345ce635282da8b04b40dfe4fdd Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 5 Dec 2019 14:32:25 -0800 Subject: [PATCH 229/418] chore: release 2.6.3 (#335) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 75370958254..7bbf5e1d0b6 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.6.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.2...v2.6.3) (2019-12-05) + + +### Bug Fixes + +* **deps:** pin TypeScript below 3.7.0 ([b4ef100](https://www.github.com/googleapis/nodejs-video-intelligence/commit/b4ef100ab0bebc2beb80234d93f3a3b8905079d9)) + ### [2.6.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.1...v2.6.2) (2019-11-18) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 31945f6902c..9717045ba45 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.2", + "version": "2.6.3", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index bf6865f06e4..9431bb28510 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.2", + "@google-cloud/video-intelligence": "^2.6.3", "yargs": "^15.0.0" }, "devDependencies": { From a373db7ce9bcb3db9ee2efa136672a7c95ba3784 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 10 Dec 2019 10:48:40 -0800 Subject: [PATCH 230/418] docs: add streaming samples to README (#333) --- .../google-cloud-videointelligence/README.md | 6 + .../samples/README.md | 108 ++++++++++++++++++ .../synth.metadata | 10 +- 3 files changed, 119 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 7625888d8cd..3604e029354 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -122,6 +122,12 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | +| Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | +| Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | +| Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | +| Analyze-streaming-object | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-object.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) | +| Analyze-streaming-safe-search | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-safe-search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) | +| Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | | Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | | Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index b91f6fd5e9c..e7e7dd7aeab 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -12,6 +12,12 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Analyze-streaming-annotation-to-storage](#analyze-streaming-annotation-to-storage) + * [Analyze-streaming-automl-classification](#analyze-streaming-automl-classification) + * [Analyze-streaming-labels](#analyze-streaming-labels) + * [Analyze-streaming-object](#analyze-streaming-object) + * [Analyze-streaming-safe-search](#analyze-streaming-safe-search) + * [Analyze-streaming-shot-change](#analyze-streaming-shot-change) * [Analyze](#analyze) * [Analyze.v1p2beta1](#analyze.v1p2beta1) * [Quickstart](#quickstart) @@ -25,6 +31,108 @@ Before running the samples, make sure you've followed the steps outlined in +### Analyze-streaming-annotation-to-storage + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-annotation-to-storage.js` + + +----- + + + + +### Analyze-streaming-automl-classification + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-automl-classification.js` + + +----- + + + + +### Analyze-streaming-labels + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-labels.js` + + +----- + + + + +### Analyze-streaming-object + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-object.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-object.js` + + +----- + + + + +### Analyze-streaming-safe-search + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-safe-search.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-safe-search.js` + + +----- + + + + +### Analyze-streaming-shot-change + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) + +__Usage:__ + + +`node analyze-streaming-shot-change.js` + + +----- + + + + ### Analyze View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js). diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f18513c2073..fbff1ce9ca6 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-11-16T12:25:18.844424Z", + "updateTime": "2019-12-03T12:27:07.628202Z", "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": "c89394342a9ef70acaf73a6959e04b943fbc817b", - "internalRef": "280761373" + "sha": "38dc36a2a43cbab4a2a9183a43dd0441670098a9", + "internalRef": "283384331" } }, { From 8f82c5d6c7345283dc05681e15630e417ec3af16 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Thu, 26 Dec 2019 16:28:38 -0500 Subject: [PATCH 231/418] docs: update jsdoc license/samples-README (#336) --- .../google-cloud-videointelligence/.jsdoc.js | 29 +++++++++---------- .../samples/README.md | 26 ++++++++++------- 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index c596be4132d..7483ebf3044 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index e7e7dd7aeab..1bbf90056d5 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -27,6 +27,12 @@ Before running the samples, make sure you've followed the steps outlined in [Using the client library](https://github.com/googleapis/nodejs-video-intelligence#using-the-client-library). +`cd samples` + +`npm install` + +`cd ..` + ## Samples @@ -40,7 +46,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-annotation-to-storage.js` +`node samples/analyze-streaming-annotation-to-storage.js` ----- @@ -57,7 +63,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-automl-classification.js` +`node samples/analyze-streaming-automl-classification.js` ----- @@ -74,7 +80,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-labels.js` +`node samples/analyze-streaming-labels.js` ----- @@ -91,7 +97,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-object.js` +`node samples/analyze-streaming-object.js` ----- @@ -108,7 +114,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-safe-search.js` +`node samples/analyze-streaming-safe-search.js` ----- @@ -125,7 +131,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze-streaming-shot-change.js` +`node samples/analyze-streaming-shot-change.js` ----- @@ -142,7 +148,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze.js` +`node samples/analyze.js` ----- @@ -159,7 +165,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node analyze.v1p2beta1.js` +`node samples/analyze.v1p2beta1.js` ----- @@ -176,7 +182,7 @@ View the [source code](https://github.com/googleapis/nodejs-video-intelligence/b __Usage:__ -`node quickstart.js` +`node samples/quickstart.js` @@ -185,4 +191,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-video-intelligence&page=editor&open_in_editor=samples/README.md -[product-docs]: https://cloud.google.com/video-intelligence \ No newline at end of file +[product-docs]: https://cloud.google.com/video-intelligence From a67973ffc8bfb19a9cbb95d0fc2091fbc212dedc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 26 Dec 2019 14:23:09 -0800 Subject: [PATCH 232/418] build: adds list of files to synth.metadata --- .../synth.metadata | 2439 ++++++++++++++++- 1 file changed, 2434 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index fbff1ce9ca6..0acb070c785 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-12-03T12:27:07.628202Z", + "updateTime": "2019-12-21T12:31:50.090197Z", "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,2434 @@ "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.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/v1/video_intelligence_service_client.js" + }, + { + "path": "src/v1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1/index.js" + }, + { + "path": "src/v1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p2beta1/index.js" + }, + { + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1beta2/video_intelligence_service_client.js" + }, + { + "path": "src/v1beta2/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1beta2/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1beta2/index.js" + }, + { + "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1beta2/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" + }, + { + "path": "src/v1beta2/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p3beta1/index.js" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p1beta1/index.js" + }, + { + "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" + }, + { + "path": "__pycache__/synth.cpython-36.pyc" + }, + { + "path": "samples/README.md" + }, + { + "path": "samples/package.json" + }, + { + "path": "samples/analyze-streaming-annotation-to-storage.js" + }, + { + "path": "samples/.eslintrc.yml" + }, + { + "path": "samples/analyze.js" + }, + { + "path": "samples/analyze-streaming-automl-classification.js" + }, + { + "path": "samples/analyze-streaming-object.js" + }, + { + "path": "samples/analyze-streaming-shot-change.js" + }, + { + "path": "samples/analyze.v1p2beta1.js" + }, + { + "path": "samples/quickstart.js" + }, + { + "path": "samples/analyze-streaming-labels.js" + }, + { + "path": "samples/analyze-streaming-safe-search.js" + }, + { + "path": "samples/system-test/analyze.test.js" + }, + { + "path": "samples/system-test/quickstart.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" + }, + { + "path": "samples/system-test/analyze.v1p2beta1.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-automl-classification.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-labels.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-object.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-shot-change.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-safe-search.test.js" + }, + { + "path": "samples/resources/googlework_short.mp4" + }, + { + "path": "samples/resources/cat.mp4" + }, + { + "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/pre-samples-test.sh" + }, + { + "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/videointelligence/v1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.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-5f3725154c6bf242df233fe299afadfa92da38e3.idx" + }, + { + "path": ".git/objects/pack/pack-5f3725154c6bf242df233fe299afadfa92da38e3.pack" + }, + { + "path": "test/gapic-v1beta2.js" + }, + { + "path": "test/gapic-v1p2beta1.js" + }, + { + "path": "test/gapic-v1p3beta1.js" + }, + { + "path": "test/.eslintrc.yml" + }, + { + "path": "test/gapic-v1.js" + }, + { + "path": "test/gapic-v1p1beta1.js" + }, + { + "path": "test/mocha.opts" + }, + { + "path": "system-test/.eslintrc.yml" + }, + { + "path": "system-test/video_intelligence_service_smoke_test.js" + }, + { + "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/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/p-limit/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/mocha/node_modules/p-try/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/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/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/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/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/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/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/p-limit/package.json" + }, + { + "path": "node_modules/nyc/node_modules/p-try/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/jws/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/depd/package.json" + }, + { + "path": "node_modules/camelcase-keys/package.json" + }, + { + "path": "node_modules/ansi-escapes/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/https-proxy-agent/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/htmlparser2/package.json" + }, + { + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/cli-boxes/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/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/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/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/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/fast-json-stable-stringify/package.json" + }, + { + "path": "node_modules/p-locate/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/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/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/iconv-lite/package.json" + }, + { + "path": "node_modules/is-url/package.json" + }, + { + "path": "node_modules/domutils/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/pkg-dir/node_modules/p-limit/package.json" + }, + { + "path": "node_modules/pkg-dir/node_modules/p-try/package.json" + }, + { + "path": "node_modules/deep-equal/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/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/p-limit/package.json" + }, + { + "path": "node_modules/test-exclude/node_modules/p-try/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/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/spawn-wrap/package.json" + }, + { + "path": "node_modules/markdown-it/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/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/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/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/p-limit/package.json" + }, + { + "path": "node_modules/yargs/node_modules/p-try/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/.eslintrc.yml" + }, + { + "path": "smoke-test/video_intelligence_service_smoke_test.js" + } ] } \ No newline at end of file From 2a358ce1152fccedac534168869b83703c3770eb Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 27 Dec 2019 07:01:10 -0800 Subject: [PATCH 233/418] build: use c8 for coverage (#339) --- packages/google-cloud-videointelligence/package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 9717045ba45..97dbf859d00 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -29,13 +29,11 @@ "Google Cloud Video Intelligence API" ], "scripts": { - "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", "lint": "eslint '**/*.js'", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js --timeout 600000", - "test-no-cover": "mocha test/*.js", - "test": "npm run cover", + "test": "c8 mocha", "fix": "eslint --fix '**/*.js'", "docs-test": "linkinator docs", "predocs-test": "npm run docs" @@ -56,7 +54,7 @@ "jsdoc-region-tag": "^1.0.2", "linkinator": "^1.5.0", "mocha": "^6.1.4", - "nyc": "^14.1.1", + "c8": "^7.0.0", "power-assert": "^1.6.1", "prettier": "^1.17.1" } From 468200f8bb96278fc161e76ccdd0810885e56d84 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 27 Dec 2019 19:37:16 +0200 Subject: [PATCH 234/418] chore(deps): update dependency eslint-plugin-node to v11 (#340) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 97dbf859d00..8078c857069 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,7 +46,7 @@ "codecov": "^3.4.0", "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.1.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", From 18a260b86c3f2df45e3c1f7cb580dd3ca4c5e9cb Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 2 Jan 2020 13:48:17 -0800 Subject: [PATCH 235/418] build: update files in synth.metadata --- .../protos/protos.d.ts | 2 +- .../protos/protos.js | 2 +- .../synth.metadata | 1651 ++++++++--------- 3 files changed, 751 insertions(+), 904 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 47d7d2fd532..ef1fce2a5ea 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 3ee2d812d34..b0f5c795179 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 0acb070c785..fe082632ecf 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-12-21T12:31:50.090197Z", + "updateTime": "2020-01-01T12:12:24.677187Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "1a380ea21dea9b6ac6ad28c60ad96d9d73574e19", - "internalRef": "286616241" + "sha": "ec285d3d230810147ebbf8d5b691ee90320c6d2d", + "internalRef": "287608953" } }, { @@ -77,243 +77,84 @@ } ], "newFiles": [ - { - "path": ".repo-metadata.json" - }, { "path": "README.md" }, { - "path": "package.json" + "path": "package-lock.json" }, { - "path": "CHANGELOG.md" + "path": ".jsdoc.js" }, { - "path": ".gitignore" + "path": ".nycrc" }, { - "path": "CODE_OF_CONDUCT.md" + "path": "synth.py" }, { - "path": "webpack.config.js" + "path": ".repo-metadata.json" }, { - "path": "CONTRIBUTING.md" + "path": ".gitignore" }, { "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/v1/video_intelligence_service_client.js" - }, - { - "path": "src/v1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1/index.js" - }, - { - "path": "src/v1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p2beta1/index.js" - }, - { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_client.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1beta2/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1beta2/index.js" - }, - { - "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1beta2/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/index.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_client.js" + "path": "webpack.config.js" }, { - "path": "src/v1p1beta1/video_intelligence_service_client_config.json" + "path": ".eslintrc.yml" }, { - "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" + "path": ".prettierignore" }, { - "path": "src/v1p1beta1/index.js" + "path": "CODE_OF_CONDUCT.md" }, { - "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" + "path": "synth.metadata" }, { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + "path": "package.json" }, { - "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" + "path": "linkinator.config.json" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + "path": "CHANGELOG.md" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" + "path": "renovate.json" }, { - "path": "__pycache__/synth.cpython-36.pyc" + "path": "CONTRIBUTING.md" }, { "path": "samples/README.md" }, - { - "path": "samples/package.json" - }, { "path": "samples/analyze-streaming-annotation-to-storage.js" }, { - "path": "samples/.eslintrc.yml" + "path": "samples/analyze-streaming-safe-search.js" }, { - "path": "samples/analyze.js" + "path": "samples/analyze-streaming-object.js" }, { "path": "samples/analyze-streaming-automl-classification.js" }, - { - "path": "samples/analyze-streaming-object.js" - }, { "path": "samples/analyze-streaming-shot-change.js" }, @@ -321,22 +162,25 @@ "path": "samples/analyze.v1p2beta1.js" }, { - "path": "samples/quickstart.js" + "path": "samples/analyze-streaming-labels.js" }, { - "path": "samples/analyze-streaming-labels.js" + "path": "samples/.eslintrc.yml" }, { - "path": "samples/analyze-streaming-safe-search.js" + "path": "samples/analyze.js" }, { - "path": "samples/system-test/analyze.test.js" + "path": "samples/quickstart.js" }, { - "path": "samples/system-test/quickstart.test.js" + "path": "samples/package.json" }, { - "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" + "path": "samples/resources/cat.mp4" + }, + { + "path": "samples/resources/googlework_short.mp4" }, { "path": "samples/system-test/analyze.v1p2beta1.test.js" @@ -351,2158 +195,2161 @@ "path": "samples/system-test/analyze-streaming-object.test.js" }, { - "path": "samples/system-test/analyze-streaming-shot-change.test.js" + "path": "samples/system-test/analyze.test.js" }, { "path": "samples/system-test/analyze-streaming-safe-search.test.js" }, { - "path": "samples/resources/googlework_short.mp4" + "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" }, { - "path": "samples/resources/cat.mp4" + "path": "samples/system-test/quickstart.test.js" }, { - "path": ".github/PULL_REQUEST_TEMPLATE.md" + "path": "samples/system-test/analyze-streaming-shot-change.test.js" }, { - "path": ".github/release-please.yml" + "path": "src/index.js" }, { - "path": ".github/ISSUE_TEMPLATE/support_request.md" + "path": "src/browser.js" }, { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" + "path": "src/v1p1beta1/video_intelligence_service_client.js" }, { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" + "path": "src/v1p1beta1/index.js" }, { - "path": ".kokoro/pre-samples-test.sh" + "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" }, { - "path": ".kokoro/test.sh" + "path": "src/v1p1beta1/video_intelligence_service_client_config.json" }, { - "path": ".kokoro/docs.sh" + "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" }, { - "path": ".kokoro/samples-test.sh" + "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/.gitattributes" + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" }, { - "path": ".kokoro/trampoline.sh" + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" }, { - "path": ".kokoro/lint.sh" + "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" }, { - "path": ".kokoro/publish.sh" + "path": "src/v1beta2/video_intelligence_service_client.js" }, { - "path": ".kokoro/test.bat" + "path": "src/v1beta2/index.js" }, { - "path": ".kokoro/common.cfg" + "path": "src/v1beta2/video_intelligence_service_proto_list.json" }, { - "path": ".kokoro/system-test.sh" + "path": "src/v1beta2/video_intelligence_service_client_config.json" }, { - "path": ".kokoro/release/docs.cfg" + "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" }, { - "path": ".kokoro/release/docs.sh" + "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/release/publish.cfg" + "path": "src/v1beta2/doc/google/rpc/doc_status.js" }, { - "path": ".kokoro/continuous/node10/lint.cfg" + "path": "src/v1beta2/doc/google/protobuf/doc_any.js" }, { - "path": ".kokoro/continuous/node10/docs.cfg" + "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" }, { - "path": ".kokoro/continuous/node10/test.cfg" + "path": "src/v1p2beta1/video_intelligence_service_client.js" }, { - "path": ".kokoro/continuous/node10/system-test.cfg" + "path": "src/v1p2beta1/index.js" }, { - "path": ".kokoro/continuous/node10/samples-test.cfg" + "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" }, { - "path": ".kokoro/continuous/node10/common.cfg" + "path": "src/v1p2beta1/video_intelligence_service_client_config.json" }, { - "path": ".kokoro/continuous/node8/test.cfg" + "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" }, { - "path": ".kokoro/continuous/node8/common.cfg" + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/continuous/node12/test.cfg" + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" }, { - "path": ".kokoro/continuous/node12/common.cfg" + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" }, { - "path": ".kokoro/presubmit/node10/lint.cfg" + "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" }, { - "path": ".kokoro/presubmit/node10/docs.cfg" + "path": "src/v1p3beta1/video_intelligence_service_client.js" }, { - "path": ".kokoro/presubmit/node10/test.cfg" + "path": "src/v1p3beta1/index.js" }, { - "path": ".kokoro/presubmit/node10/system-test.cfg" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" }, { - "path": ".kokoro/presubmit/node10/samples-test.cfg" + "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" }, { - "path": ".kokoro/presubmit/node10/common.cfg" + "path": "src/v1p3beta1/video_intelligence_service_client_config.json" }, { - "path": ".kokoro/presubmit/node8/test.cfg" + "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" }, { - "path": ".kokoro/presubmit/node8/common.cfg" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" }, { - "path": ".kokoro/presubmit/node12/test.cfg" + "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" }, { - "path": ".kokoro/presubmit/node12/common.cfg" + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/presubmit/windows/test.cfg" + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" }, { - "path": ".kokoro/presubmit/windows/common.cfg" + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" }, { - "path": "protos/protos.json" + "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "protos/protos.js" + "path": "src/v1/video_intelligence_service_client.js" }, { - "path": "protos/protos.d.ts" + "path": "src/v1/index.js" }, { - "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" + "path": "src/v1/video_intelligence_service_proto_list.json" }, { - "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" + "path": "src/v1/video_intelligence_service_client_config.json" }, { - "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" + "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" }, { - "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" + "path": "src/v1/doc/google/longrunning/doc_operations.js" }, { - "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" + "path": "src/v1/doc/google/rpc/doc_status.js" }, { - "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" + "path": "src/v1/doc/google/protobuf/doc_any.js" }, { - "path": ".git/packed-refs" + "path": "src/v1/doc/google/protobuf/doc_duration.js" }, { - "path": ".git/HEAD" + "path": "node_modules/diff/package.json" }, { - "path": ".git/config" + "path": "node_modules/range-parser/package.json" }, { - "path": ".git/index" + "path": "node_modules/object.getownpropertydescriptors/package.json" }, { - "path": ".git/logs/HEAD" + "path": "node_modules/strip-ansi/package.json" }, { - "path": ".git/logs/refs/remotes/origin/HEAD" + "path": "node_modules/write-file-atomic/package.json" }, { - "path": ".git/logs/refs/heads/autosynth" + "path": "node_modules/espurify/package.json" }, { - "path": ".git/logs/refs/heads/master" + "path": "node_modules/jsdoc-fresh/package.json" }, { - "path": ".git/refs/remotes/origin/HEAD" + "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" }, { - "path": ".git/refs/heads/autosynth" + "path": "node_modules/json-stable-stringify-without-jsonify/package.json" }, { - "path": ".git/refs/heads/master" + "path": "node_modules/nth-check/package.json" }, { - "path": ".git/objects/pack/pack-5f3725154c6bf242df233fe299afadfa92da38e3.idx" + "path": "node_modules/string_decoder/package.json" }, { - "path": ".git/objects/pack/pack-5f3725154c6bf242df233fe299afadfa92da38e3.pack" + "path": "node_modules/is-glob/package.json" }, { - "path": "test/gapic-v1beta2.js" + "path": "node_modules/latest-version/package.json" }, { - "path": "test/gapic-v1p2beta1.js" + "path": "node_modules/domhandler/package.json" }, { - "path": "test/gapic-v1p3beta1.js" + "path": "node_modules/xdg-basedir/package.json" }, { - "path": "test/.eslintrc.yml" + "path": "node_modules/isarray/package.json" }, { - "path": "test/gapic-v1.js" + "path": "node_modules/levn/package.json" }, { - "path": "test/gapic-v1p1beta1.js" + "path": "node_modules/unpipe/package.json" }, { - "path": "test/mocha.opts" + "path": "node_modules/js-yaml/package.json" }, { - "path": "system-test/.eslintrc.yml" + "path": "node_modules/is-date-object/package.json" }, { - "path": "system-test/video_intelligence_service_smoke_test.js" + "path": "node_modules/has-yarn/package.json" }, { - "path": "node_modules/strip-bom/package.json" + "path": "node_modules/he/package.json" }, { - "path": "node_modules/string-width/package.json" + "path": "node_modules/defer-to-connect/package.json" }, { - "path": "node_modules/string-width/node_modules/strip-ansi/package.json" + "path": "node_modules/flat/package.json" }, { - "path": "node_modules/is-callable/package.json" + "path": "node_modules/eslint-scope/package.json" }, { - "path": "node_modules/util-deprecate/package.json" + "path": "node_modules/function-bind/package.json" }, { - "path": "node_modules/require-directory/package.json" + "path": "node_modules/depd/package.json" }, { - "path": "node_modules/update-notifier/package.json" + "path": "node_modules/safe-buffer/package.json" }, { - "path": "node_modules/esprima/package.json" + "path": "node_modules/get-stream/package.json" }, { - "path": "node_modules/string_decoder/package.json" + "path": "node_modules/google-p12-pem/package.json" }, { - "path": "node_modules/mocha/package.json" + "path": "node_modules/requizzle/package.json" }, { - "path": "node_modules/mocha/node_modules/locate-path/package.json" + "path": "node_modules/eslint-utils/package.json" + }, + { + "path": "node_modules/indexof/package.json" }, { - "path": "node_modules/mocha/node_modules/find-up/package.json" + "path": "node_modules/setprototypeof/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" + "path": "node_modules/slice-ansi/package.json" }, { - "path": "node_modules/mocha/node_modules/supports-color/package.json" + "path": "node_modules/slice-ansi/node_modules/color-name/package.json" }, { - "path": "node_modules/mocha/node_modules/camelcase/package.json" + "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/mocha/node_modules/p-locate/package.json" + "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/mocha/node_modules/glob/package.json" + "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" }, { - "path": "node_modules/mocha/node_modules/p-limit/package.json" + "path": "node_modules/glob/package.json" }, { - "path": "node_modules/mocha/node_modules/ms/package.json" + "path": "node_modules/ignore/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" + "path": "node_modules/is-extglob/package.json" }, { - "path": "node_modules/mocha/node_modules/p-try/package.json" + "path": "node_modules/locate-path/package.json" }, { - "path": "node_modules/is-arguments/package.json" + "path": "node_modules/update-notifier/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/package.json" + "path": "node_modules/update-notifier/node_modules/chalk/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/semver/package.json" + "path": "node_modules/on-finished/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/pify/package.json" + "path": "node_modules/core-util-is/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/make-dir/package.json" + "path": "node_modules/parse5/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/debug/package.json" + "path": "node_modules/istanbul-lib-report/package.json" }, { - "path": "node_modules/core-util-is/package.json" + "path": "node_modules/power-assert-context-formatter/package.json" }, { - "path": "node_modules/wrap-ansi/package.json" + "path": "node_modules/minimist-options/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/string-width/package.json" + "path": "node_modules/minimist-options/node_modules/arrify/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/emoji-regex/package.json" + "path": "node_modules/inquirer/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/minimist-options/package.json" + "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" + "path": "node_modules/destroy/package.json" }, { - "path": "node_modules/underscore/package.json" + "path": "node_modules/deep-is/package.json" }, { - "path": "node_modules/lodash.flattendeep/package.json" + "path": "node_modules/import-lazy/package.json" }, { - "path": "node_modules/keyv/package.json" + "path": "node_modules/resolve/package.json" }, { - "path": "node_modules/glob-parent/package.json" + "path": "node_modules/word-wrap/package.json" }, { - "path": "node_modules/walkdir/package.json" + "path": "node_modules/node-fetch/package.json" }, { - "path": "node_modules/@protobufjs/codegen/package.json" + "path": "node_modules/abort-controller/package.json" }, { - "path": "node_modules/@protobufjs/inquire/package.json" + "path": "node_modules/ee-first/package.json" }, { - "path": "node_modules/@protobufjs/float/package.json" + "path": "node_modules/is-symbol/package.json" }, { - "path": "node_modules/@protobufjs/base64/package.json" + "path": "node_modules/spdx-expression-parse/package.json" }, { - "path": "node_modules/@protobufjs/aspromise/package.json" + "path": "node_modules/gaxios/package.json" }, { - "path": "node_modules/@protobufjs/eventemitter/package.json" + "path": "node_modules/uuid/package.json" }, { - "path": "node_modules/@protobufjs/fetch/package.json" + "path": "node_modules/rc/package.json" }, { - "path": "node_modules/@protobufjs/utf8/package.json" + "path": "node_modules/rc/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/@protobufjs/path/package.json" + "path": "node_modules/rc/node_modules/minimist/package.json" }, { - "path": "node_modules/@protobufjs/pool/package.json" + "path": "node_modules/is-arguments/package.json" }, { - "path": "node_modules/global-dirs/package.json" + "path": "node_modules/p-locate/package.json" }, { - "path": "node_modules/has-flag/package.json" + "path": "node_modules/html-escaper/package.json" }, { - "path": "node_modules/locate-path/package.json" + "path": "node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/empower-assert/package.json" + "path": "node_modules/css-what/package.json" }, { - "path": "node_modules/convert-source-map/package.json" + "path": "node_modules/tslib/package.json" }, { - "path": "node_modules/require-main-filename/package.json" + "path": "node_modules/buffer-equal-constant-time/package.json" }, { - "path": "node_modules/bluebird/package.json" + "path": "node_modules/doctrine/package.json" }, { - "path": "node_modules/string.prototype.trimleft/package.json" + "path": "node_modules/htmlparser2/package.json" }, { - "path": "node_modules/range-parser/package.json" + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" }, { - "path": "node_modules/espower-loader/package.json" + "path": "node_modules/cross-spawn/package.json" }, { - "path": "node_modules/defer-to-connect/package.json" + "path": "node_modules/amdefine/package.json" }, { - "path": "node_modules/duplexer3/package.json" + "path": "node_modules/eastasianwidth/package.json" }, { - "path": "node_modules/indent-string/package.json" + "path": "node_modules/v8-to-istanbul/package.json" }, { - "path": "node_modules/eslint/package.json" + "path": "node_modules/mimic-response/package.json" }, { - "path": "node_modules/eslint/node_modules/debug/package.json" + "path": "node_modules/registry-url/package.json" }, { - "path": "node_modules/append-transform/package.json" + "path": "node_modules/call-signature/package.json" }, { - "path": "node_modules/got/package.json" + "path": "node_modules/@protobufjs/path/package.json" }, { - "path": "node_modules/got/node_modules/get-stream/package.json" + "path": "node_modules/@protobufjs/utf8/package.json" }, { - "path": "node_modules/estraverse/package.json" + "path": "node_modules/@protobufjs/inquire/package.json" }, { - "path": "node_modules/mdurl/package.json" + "path": "node_modules/@protobufjs/eventemitter/package.json" }, { - "path": "node_modules/eslint-plugin-node/package.json" + "path": "node_modules/@protobufjs/base64/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" + "path": "node_modules/@protobufjs/codegen/package.json" }, { - "path": "node_modules/resolve-from/package.json" + "path": "node_modules/@protobufjs/float/package.json" }, { - "path": "node_modules/type-name/package.json" + "path": "node_modules/@protobufjs/aspromise/package.json" }, { - "path": "node_modules/lodash/package.json" + "path": "node_modules/@protobufjs/fetch/package.json" }, { - "path": "node_modules/strip-ansi/package.json" + "path": "node_modules/@protobufjs/pool/package.json" }, { - "path": "node_modules/strip-ansi/node_modules/ansi-regex/package.json" + "path": "node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/safe-buffer/package.json" + "path": "node_modules/sprintf-js/package.json" }, { - "path": "node_modules/@szmarczak/http-timer/package.json" + "path": "node_modules/@sindresorhus/is/package.json" }, { "path": "node_modules/parent-module/package.json" }, { - "path": "node_modules/object-keys/package.json" + "path": "node_modules/espower-source/package.json" }, { - "path": "node_modules/write/package.json" + "path": "node_modules/espower-source/node_modules/acorn/package.json" }, { - "path": "node_modules/configstore/package.json" + "path": "node_modules/table/package.json" }, { - "path": "node_modules/dot-prop/package.json" + "path": "node_modules/table/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/import-fresh/package.json" + "path": "node_modules/table/node_modules/string-width/package.json" }, { - "path": "node_modules/mute-stream/package.json" + "path": "node_modules/table/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/wide-align/package.json" + "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/wide-align/node_modules/string-width/package.json" + "path": "node_modules/table/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" + "path": "node_modules/node-forge/package.json" }, { - "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" + "path": "node_modules/responselike/package.json" }, { - "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/@grpc/grpc-js/package.json" }, { - "path": "node_modules/eslint-scope/package.json" + "path": "node_modules/@grpc/proto-loader/package.json" }, { - "path": "node_modules/is-promise/package.json" + "path": "node_modules/is-regex/package.json" }, { - "path": "node_modules/es6-map/package.json" + "path": "node_modules/fs.realpath/package.json" }, { - "path": "node_modules/p-finally/package.json" + "path": "node_modules/markdown-it-anchor/package.json" }, { - "path": "node_modules/es6-set/package.json" + "path": "node_modules/gcp-metadata/package.json" }, { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" + "path": "node_modules/cheerio/package.json" }, { - "path": "node_modules/array-find/package.json" + "path": "node_modules/onetime/package.json" }, { - "path": "node_modules/js2xmlparser/package.json" + "path": "node_modules/readable-stream/package.json" }, { - "path": "node_modules/istanbul-reports/package.json" + "path": "node_modules/espower-loader/package.json" }, { - "path": "node_modules/indexof/package.json" + "path": "node_modules/fresh/package.json" }, { - "path": "node_modules/progress/package.json" + "path": "node_modules/ajv/package.json" }, { - "path": "node_modules/registry-url/package.json" + "path": "node_modules/bluebird/package.json" }, { - "path": "node_modules/google-gax/package.json" + "path": "node_modules/cli-width/package.json" }, { - "path": "node_modules/mimic-response/package.json" + "path": "node_modules/ecdsa-sig-formatter/package.json" }, { - "path": "node_modules/figures/package.json" + "path": "node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/eslint-config-prettier/package.json" + "path": "node_modules/spdx-correct/package.json" }, { - "path": "node_modules/argparse/package.json" + "path": "node_modules/object-inspect/package.json" }, { - "path": "node_modules/type/package.json" + "path": "node_modules/crypto-random-string/package.json" }, { - "path": "node_modules/domhandler/package.json" + "path": "node_modules/growl/package.json" }, { - "path": "node_modules/error-ex/package.json" + "path": "node_modules/chardet/package.json" }, { - "path": "node_modules/ansi-colors/package.json" + "path": "node_modules/node-environment-flags/package.json" }, { - "path": "node_modules/safer-buffer/package.json" + "path": "node_modules/node-environment-flags/node_modules/semver/package.json" }, { - "path": "node_modules/type-fest/package.json" + "path": "node_modules/google-gax/package.json" }, { - "path": "node_modules/strip-indent/package.json" + "path": "node_modules/es6-promisify/package.json" }, { - "path": "node_modules/boxen/package.json" + "path": "node_modules/is-typedarray/package.json" }, { - "path": "node_modules/boxen/node_modules/string-width/package.json" + "path": "node_modules/indent-string/package.json" }, { - "path": "node_modules/boxen/node_modules/type-fest/package.json" + "path": "node_modules/hard-rejection/package.json" }, { - "path": "node_modules/boxen/node_modules/camelcase/package.json" + "path": "node_modules/es5-ext/package.json" }, { - "path": "node_modules/boxen/node_modules/emoji-regex/package.json" + "path": "node_modules/fast-deep-equal/package.json" }, { - "path": "node_modules/boxen/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/cli-boxes/package.json" }, { - "path": "node_modules/flat-cache/package.json" + "path": "node_modules/markdown-it/package.json" }, { - "path": "node_modules/release-zalgo/package.json" + "path": "node_modules/eslint-plugin-es/package.json" }, { - "path": "node_modules/has-symbols/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/gcp-metadata/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" }, { - "path": "node_modules/ansi-align/package.json" + "path": "node_modules/typedarray-to-buffer/README.md" }, { - "path": "node_modules/ansi-align/node_modules/string-width/package.json" + "path": "node_modules/typedarray-to-buffer/index.js" }, { - "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" + "path": "node_modules/typedarray-to-buffer/LICENSE" }, { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/typedarray-to-buffer/.airtap.yml" }, { - "path": "node_modules/find-up/package.json" + "path": "node_modules/typedarray-to-buffer/.travis.yml" }, { - "path": "node_modules/log-symbols/package.json" + "path": "node_modules/typedarray-to-buffer/package.json" }, { - "path": "node_modules/merge-estraverse-visitors/package.json" + "path": "node_modules/typedarray-to-buffer/test/basic.js" }, { - "path": "node_modules/is-extglob/package.json" + "path": "node_modules/merge-estraverse-visitors/package.json" }, { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" + "path": "node_modules/lodash.at/package.json" }, { - "path": "node_modules/prettier/package.json" + "path": "node_modules/signal-exit/package.json" }, { - "path": "node_modules/jsonexport/package.json" + "path": "node_modules/power-assert-util-string-width/package.json" }, { - "path": "node_modules/wrappy/package.json" + "path": "node_modules/argparse/package.json" }, { - "path": "node_modules/npm-run-path/package.json" + "path": "node_modules/eslint-plugin-node/package.json" }, { - "path": "node_modules/istanbul-lib-instrument/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/map-obj/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" }, { - "path": "node_modules/term-size/package.json" + "path": "node_modules/type-check/package.json" }, { - "path": "node_modules/destroy/package.json" + "path": "node_modules/require-main-filename/package.json" }, { - "path": "node_modules/growl/package.json" + "path": "node_modules/fast-diff/package.json" }, { - "path": "node_modules/json-schema-traverse/package.json" + "path": "node_modules/lodash/package.json" }, { - "path": "node_modules/taffydb/package.json" + "path": "node_modules/deep-extend/package.json" }, { - "path": "node_modules/cross-spawn/README.md" + "path": "node_modules/chalk/package.json" }, { - "path": "node_modules/cross-spawn/package.json" + "path": "node_modules/chalk/node_modules/has-flag/package.json" }, { - "path": "node_modules/cross-spawn/CHANGELOG.md" + "path": "node_modules/chalk/node_modules/color-name/package.json" }, { - "path": "node_modules/cross-spawn/index.js" + "path": "node_modules/chalk/node_modules/supports-color/package.json" }, { - "path": "node_modules/cross-spawn/LICENSE" + "path": "node_modules/chalk/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/cross-spawn/lib/parse.js" + "path": "node_modules/chalk/node_modules/color-convert/package.json" }, { - "path": "node_modules/cross-spawn/lib/enoent.js" + "path": "node_modules/uc.micro/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/escape.js" + "path": "node_modules/http-cache-semantics/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/resolveCommand.js" + "path": "node_modules/p-timeout/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/readShebang.js" + "path": "node_modules/argv/package.json" }, { - "path": "node_modules/cross-spawn/node_modules/semver/package.json" + "path": "node_modules/type/package.json" }, { - "path": "node_modules/loud-rejection/package.json" + "path": "node_modules/p-cancelable/package.json" }, { - "path": "node_modules/is-glob/package.json" + "path": "node_modules/object-keys/package.json" }, { - "path": "node_modules/get-stream/package.json" + "path": "node_modules/is-obj/package.json" }, { - "path": "node_modules/uglify-js/package.json" + "path": "node_modules/prettier/package.json" }, { - "path": "node_modules/nyc/package.json" + "path": "node_modules/clone-response/package.json" }, { - "path": "node_modules/nyc/node_modules/locate-path/package.json" + "path": "node_modules/event-target-shim/package.json" }, { - "path": "node_modules/nyc/node_modules/find-up/package.json" + "path": "node_modules/multi-stage-sourcemap/package.json" }, { - "path": "node_modules/nyc/node_modules/yargs-parser/package.json" + "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" }, { - "path": "node_modules/nyc/node_modules/semver/package.json" + "path": "node_modules/wide-align/package.json" }, { - "path": "node_modules/nyc/node_modules/pify/package.json" + "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/nyc/node_modules/camelcase/package.json" + "path": "node_modules/wide-align/node_modules/string-width/package.json" }, { - "path": "node_modules/nyc/node_modules/p-locate/package.json" + "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/nyc/node_modules/p-limit/package.json" + "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/nyc/node_modules/p-try/package.json" + "path": "node_modules/strip-indent/package.json" }, { - "path": "node_modules/nyc/node_modules/make-dir/package.json" + "path": "node_modules/boolbase/package.json" }, { - "path": "node_modules/optimist/package.json" + "path": "node_modules/eslint-plugin-prettier/package.json" }, { - "path": "node_modules/merge-source-map/package.json" + "path": "node_modules/package-json/package.json" }, { - "path": "node_modules/empower/package.json" + "path": "node_modules/dot-prop/package.json" }, { - "path": "node_modules/cacheable-request/package.json" + "path": "node_modules/ci-info/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" + "path": "node_modules/which-module/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" + "path": "node_modules/d/package.json" }, { - "path": "node_modules/is-ci/package.json" + "path": "node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/server-destroy/package.json" + "path": "node_modules/decompress-response/package.json" }, { - "path": "node_modules/json-parse-better-errors/package.json" + "path": "node_modules/is-stream-ended/package.json" }, { - "path": "node_modules/core-js/package.json" + "path": "node_modules/uri-js/package.json" }, { - "path": "node_modules/set-blocking/package.json" + "path": "node_modules/long/package.json" }, { - "path": "node_modules/next-tick/package.json" + "path": "node_modules/graceful-fs/package.json" }, { - "path": "node_modules/catharsis/package.json" + "path": "node_modules/@bcoe/v8-coverage/package.json" }, { - "path": "node_modules/rimraf/package.json" + "path": "node_modules/power-assert/package.json" }, { - "path": "node_modules/agent-base/package.json" + "path": "node_modules/object.assign/package.json" }, { - "path": "node_modules/json-bigint/package.json" + "path": "node_modules/bignumber.js/package.json" }, { - "path": "node_modules/spdx-exceptions/package.json" + "path": "node_modules/decamelize-keys/package.json" }, { - "path": "node_modules/color-name/package.json" + "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" }, { - "path": "node_modules/through/package.json" + "path": "node_modules/taffydb/package.json" }, { - "path": "node_modules/jws/package.json" + "path": "node_modules/esutils/package.json" }, { - "path": "node_modules/inquirer/package.json" + "path": "node_modules/duplexer3/package.json" }, { - "path": "node_modules/etag/package.json" + "path": "node_modules/inherits/package.json" }, { - "path": "node_modules/power-assert-formatter/package.json" + "path": "node_modules/lru-cache/package.json" }, { - "path": "node_modules/text-table/package.json" + "path": "node_modules/term-size/package.json" }, { - "path": "node_modules/color-convert/package.json" + "path": "node_modules/xmlcreate/package.json" }, { - "path": "node_modules/escope/package.json" + "path": "node_modules/js2xmlparser/package.json" }, { - "path": "node_modules/ansi-regex/package.json" + "path": "node_modules/through/package.json" }, { - "path": "node_modules/istanbul-lib-hook/package.json" + "path": "node_modules/registry-auth-token/package.json" }, { - "path": "node_modules/is-installed-globally/package.json" + "path": "node_modules/file-entry-cache/package.json" }, { - "path": "node_modules/redent/package.json" + "path": "node_modules/error-ex/package.json" }, { - "path": "node_modules/is-buffer/package.json" + "path": "node_modules/domutils/package.json" }, { - "path": "node_modules/esrecurse/package.json" + "path": "node_modules/regexpp/package.json" }, { - "path": "node_modules/decamelize/package.json" + "path": "node_modules/has-flag/package.json" }, { - "path": "node_modules/parse-json/package.json" + "path": "node_modules/string-width/package.json" }, { - "path": "node_modules/mime/package.json" + "path": "node_modules/has/package.json" }, { - "path": "node_modules/google-auth-library/package.json" + "path": "node_modules/inflight/package.json" }, { - "path": "node_modules/ignore/package.json" + "path": "node_modules/end-of-stream/package.json" }, { - "path": "node_modules/depd/package.json" + "path": "node_modules/prepend-http/package.json" }, { - "path": "node_modules/camelcase-keys/package.json" + "path": "node_modules/object-is/package.json" }, { - "path": "node_modules/ansi-escapes/package.json" + "path": "node_modules/ansi-regex/package.json" }, { - "path": "node_modules/decompress-response/package.json" + "path": "node_modules/optionator/package.json" }, { - "path": "node_modules/end-of-stream/package.json" + "path": "node_modules/json-schema-traverse/package.json" }, { - "path": "node_modules/diff-match-patch/package.json" + "path": "node_modules/through2/package.json" }, { - "path": "node_modules/amdefine/package.json" + "path": "node_modules/map-obj/package.json" }, { - "path": "node_modules/event-emitter/package.json" + "path": "node_modules/nice-try/package.json" }, { - "path": "node_modules/diff/package.json" + "path": "node_modules/yargs-unparser/package.json" }, { - "path": "node_modules/tmp/package.json" + "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/source-map/package.json" + "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" }, { - "path": "node_modules/is-obj/package.json" + "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" }, { - "path": "node_modules/cp-file/package.json" + "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/cp-file/node_modules/semver/package.json" + "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" }, { - "path": "node_modules/cp-file/node_modules/pify/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/cp-file/node_modules/make-dir/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" }, { - "path": "node_modules/yargs-parser/package.json" + "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/teeny-request/package.json" + "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/escape-string-regexp/package.json" + "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" }, { - "path": "node_modules/es-abstract/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" }, { - "path": "node_modules/linkinator/package.json" + "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" }, { - "path": "node_modules/linkinator/node_modules/has-flag/package.json" + "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" }, { - "path": "node_modules/linkinator/node_modules/color-name/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" }, { - "path": "node_modules/linkinator/node_modules/color-convert/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/linkinator/node_modules/supports-color/package.json" + "path": "node_modules/read-pkg/package.json" }, { - "path": "node_modules/linkinator/node_modules/ansi-styles/package.json" + "path": "node_modules/read-pkg/node_modules/type-fest/package.json" }, { - "path": "node_modules/linkinator/node_modules/chalk/package.json" + "path": "node_modules/isexe/package.json" }, { - "path": "node_modules/import-lazy/package.json" + "path": "node_modules/concat-map/package.json" }, { - "path": "node_modules/inflight/package.json" + "path": "node_modules/is-windows/package.json" }, { - "path": "node_modules/concat-map/package.json" + "path": "node_modules/quick-lru/package.json" }, { - "path": "node_modules/object.assign/package.json" + "path": "node_modules/got/package.json" }, { - "path": "node_modules/es6-symbol/package.json" + "path": "node_modules/estraverse/package.json" }, { - "path": "node_modules/semver/package.json" + "path": "node_modules/callsites/package.json" }, { - "path": "node_modules/jsdoc-fresh/package.json" + "path": "node_modules/duplexify/package.json" }, { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" + "path": "node_modules/@babel/code-frame/package.json" }, { - "path": "node_modules/htmlparser2/package.json" + "path": "node_modules/@babel/highlight/package.json" }, { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + "path": "node_modules/@babel/parser/package.json" }, { - "path": "node_modules/cli-boxes/package.json" + "path": "node_modules/brace-expansion/package.json" }, { - "path": "node_modules/supports-color/package.json" + "path": "node_modules/yallist/package.json" }, { - "path": "node_modules/path-key/package.json" + "path": "node_modules/entities/package.json" }, { - "path": "node_modules/lru-cache/package.json" + "path": "node_modules/is-npm/package.json" }, { - "path": "node_modules/rc/package.json" + "path": "node_modules/retry-request/package.json" }, { - "path": "node_modules/rc/node_modules/minimist/package.json" + "path": "node_modules/retry-request/node_modules/debug/package.json" }, { - "path": "node_modules/rc/node_modules/strip-json-comments/package.json" + "path": "node_modules/@istanbuljs/schema/package.json" }, { - "path": "node_modules/yargs-unparser/package.json" + "path": "node_modules/once/package.json" }, { - "path": "node_modules/abort-controller/package.json" + "path": "node_modules/fast-levenshtein/package.json" }, { - "path": "node_modules/http-errors/package.json" + "path": "node_modules/json-parse-better-errors/package.json" }, { - "path": "node_modules/marked/package.json" + "path": "node_modules/color-name/package.json" }, { - "path": "node_modules/is-plain-obj/package.json" + "path": "node_modules/server-destroy/package.json" }, { - "path": "node_modules/minimatch/package.json" + "path": "node_modules/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/send/package.json" + "path": "node_modules/mocha/package.json" }, { - "path": "node_modules/send/node_modules/mime/package.json" + "path": "node_modules/mocha/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/send/node_modules/ms/package.json" + "path": "node_modules/mocha/node_modules/glob/package.json" }, { - "path": "node_modules/send/node_modules/debug/package.json" + "path": "node_modules/mocha/node_modules/locate-path/package.json" }, { - "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" + "path": "node_modules/mocha/node_modules/p-locate/package.json" }, { - "path": "node_modules/css-select/package.json" + "path": "node_modules/mocha/node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/uri-js/package.json" + "path": "node_modules/mocha/node_modules/has-flag/package.json" }, { - "path": "node_modules/google-p12-pem/package.json" + "path": "node_modules/mocha/node_modules/string-width/package.json" }, { - "path": "node_modules/spdx-license-ids/package.json" + "path": "node_modules/mocha/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/yallist/package.json" + "path": "node_modules/mocha/node_modules/color-name/package.json" }, { - "path": "node_modules/setprototypeof/package.json" + "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/hosted-git-info/package.json" + "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/argv/package.json" + "path": "node_modules/mocha/node_modules/supports-color/package.json" }, { - "path": "node_modules/package-json/package.json" + "path": "node_modules/mocha/node_modules/ms/package.json" }, { - "path": "node_modules/write-file-atomic/package.json" + "path": "node_modules/mocha/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/external-editor/package.json" + "path": "node_modules/mocha/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/@sindresorhus/is/package.json" + "path": "node_modules/mocha/node_modules/path-exists/package.json" }, { - "path": "node_modules/lodash.camelcase/package.json" + "path": "node_modules/mocha/node_modules/color-convert/package.json" }, { - "path": "node_modules/arrify/package.json" + "path": "node_modules/mocha/node_modules/which/package.json" }, { - "path": "node_modules/default-require-extensions/package.json" + "path": "node_modules/mocha/node_modules/find-up/package.json" }, { - "path": "node_modules/ansi-styles/package.json" + "path": "node_modules/mocha/node_modules/cliui/package.json" }, { - "path": "node_modules/parseurl/package.json" + "path": "node_modules/mocha/node_modules/yargs/package.json" }, { - "path": "node_modules/boolbase/package.json" + "path": "node_modules/mocha/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/cliui/package.json" + "path": "node_modules/punycode/package.json" }, { - "path": "node_modules/cliui/node_modules/string-width/package.json" + "path": "node_modules/prelude-ls/package.json" }, { - "path": "node_modules/cliui/node_modules/emoji-regex/package.json" + "path": "node_modules/walkdir/package.json" }, { - "path": "node_modules/cliui/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/statuses/package.json" }, { - "path": "node_modules/balanced-match/package.json" + "path": "node_modules/util-deprecate/package.json" }, { - "path": "node_modules/acorn/package.json" + "path": "node_modules/min-indent/package.json" }, { - "path": "node_modules/load-json-file/package.json" + "path": "node_modules/marked/package.json" }, { - "path": "node_modules/widest-line/package.json" + "path": "node_modules/acorn/package.json" }, { - "path": "node_modules/widest-line/node_modules/string-width/package.json" + "path": "node_modules/power-assert-formatter/package.json" }, { - "path": "node_modules/widest-line/node_modules/strip-ansi/package.json" + "path": "node_modules/glob-parent/package.json" }, { - "path": "node_modules/widest-line/node_modules/ansi-regex/package.json" + "path": "node_modules/fast-text-encoding/package.json" }, { - "path": "node_modules/widest-line/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/require-directory/package.json" }, { - "path": "node_modules/which/package.json" + "path": "node_modules/functional-red-black-tree/package.json" }, { - "path": "node_modules/prettier-linter-helpers/package.json" + "path": "node_modules/text-table/package.json" }, { - "path": "node_modules/object-inspect/package.json" + "path": "node_modules/is-ci/package.json" }, { - "path": "node_modules/retry-request/package.json" + "path": "node_modules/array-filter/package.json" }, { - "path": "node_modules/retry-request/node_modules/debug/package.json" + "path": "node_modules/foreground-child/package.json" }, { - "path": "node_modules/is-arrayish/package.json" + "path": "node_modules/es6-iterator/package.json" }, { - "path": "node_modules/shebang-regex/package.json" + "path": "node_modules/ansi-escapes/package.json" }, { - "path": "node_modules/clone-response/package.json" + "path": "node_modules/p-limit/package.json" }, { - "path": "node_modules/deep-is/package.json" + "path": "node_modules/agent-base/package.json" }, { - "path": "node_modules/regexpp/package.json" + "path": "node_modules/urlgrey/package.json" }, { - "path": "node_modules/hasha/package.json" + "path": "node_modules/jsdoc-region-tag/package.json" }, { - "path": "node_modules/hasha/node_modules/is-stream/package.json" + "path": "node_modules/istanbul-reports/package.json" }, { - "path": "node_modules/node-forge/package.json" + "path": "node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/power-assert/package.json" + "path": "node_modules/json-buffer/package.json" }, { - "path": "node_modules/path-is-absolute/package.json" + "path": "node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/ignore-walk/package.json" + "path": "node_modules/array-find/package.json" }, { - "path": "node_modules/finalhandler/package.json" + "path": "node_modules/dom-serializer/package.json" }, { - "path": "node_modules/finalhandler/node_modules/ms/package.json" + "path": "node_modules/call-matcher/package.json" }, { - "path": "node_modules/finalhandler/node_modules/debug/package.json" + "path": "node_modules/teeny-request/package.json" }, { - "path": "node_modules/source-map-support/package.json" + "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/source-map-support/node_modules/source-map/package.json" + "path": "node_modules/power-assert-context-traversal/package.json" }, { - "path": "node_modules/buffer-equal-constant-time/package.json" + "path": "node_modules/catharsis/package.json" }, { - "path": "node_modules/path-parse/package.json" + "path": "node_modules/lodash.camelcase/package.json" }, { - "path": "node_modules/decamelize-keys/package.json" + "path": "node_modules/@szmarczak/http-timer/package.json" }, { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" + "path": "node_modules/jsonexport/package.json" }, { - "path": "node_modules/os-tmpdir/package.json" + "path": "node_modules/is-plain-obj/package.json" }, { - "path": "node_modules/power-assert-util-string-width/package.json" + "path": "node_modules/arrify/package.json" }, { - "path": "node_modules/url-parse-lax/package.json" + "path": "node_modules/power-assert-context-reducer-ast/package.json" }, { - "path": "node_modules/linkify-it/package.json" + "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" }, { - "path": "node_modules/minimist/package.json" + "path": "node_modules/power-assert-renderer-comparison/package.json" }, { - "path": "node_modules/fresh/package.json" + "path": "node_modules/resolve-from/package.json" }, { - "path": "node_modules/power-assert-context-formatter/package.json" + "path": "node_modules/lines-and-columns/package.json" }, { - "path": "node_modules/is-stream/package.json" + "path": "node_modules/is-promise/package.json" }, { - "path": "node_modules/call-matcher/package.json" + "path": "node_modules/regexp.prototype.flags/package.json" }, { - "path": "node_modules/os-homedir/package.json" + "path": "node_modules/minimist/package.json" }, { - "path": "node_modules/is-stream-ended/package.json" + "path": "node_modules/p-try/package.json" }, { - "path": "node_modules/slice-ansi/package.json" + "path": "node_modules/protobufjs/package.json" }, { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/protobufjs/cli/package-lock.json" }, { - "path": "node_modules/onetime/package.json" + "path": "node_modules/protobufjs/cli/package.json" }, { - "path": "node_modules/spdx-correct/package.json" + "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" }, { - "path": "node_modules/fast-deep-equal/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/readable-stream/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" }, { - "path": "node_modules/xdg-basedir/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" }, { - "path": "node_modules/v8-compile-cache/package.json" + "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" }, { - "path": "node_modules/callsites/package.json" + "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" }, { - "path": "node_modules/power-assert-renderer-assertion/package.json" + "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" }, { - "path": "node_modules/pify/package.json" + "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" }, { - "path": "node_modules/stream-shift/package.json" + "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" }, { - "path": "node_modules/crypto-random-string/package.json" + "path": "node_modules/string.prototype.trimright/package.json" }, { - "path": "node_modules/escodegen/package.json" + "path": "node_modules/type-fest/package.json" }, { - "path": "node_modules/escodegen/node_modules/esprima/package.json" + "path": "node_modules/widest-line/package.json" }, { - "path": "node_modules/entities/package.json" + "path": "node_modules/wrappy/package.json" }, { - "path": "node_modules/object.getownpropertydescriptors/package.json" + "path": "node_modules/@types/long/package.json" }, { - "path": "node_modules/power-assert-renderer-file/package.json" + "path": "node_modules/@types/is-windows/package.json" }, { - "path": "node_modules/unpipe/package.json" + "path": "node_modules/@types/color-name/package.json" }, { - "path": "node_modules/array-filter/package.json" + "path": "node_modules/@types/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/archy/package.json" + "path": "node_modules/@types/minimist/package.json" }, { - "path": "node_modules/es6-error/package.json" + "path": "node_modules/@types/normalize-package-data/package.json" }, { - "path": "node_modules/strip-eof/package.json" + "path": "node_modules/@types/node/package.json" }, { - "path": "node_modules/is-path-inside/package.json" + "path": "node_modules/natural-compare/package.json" }, { - "path": "node_modules/ini/package.json" + "path": "node_modules/codecov/package.json" }, { - "path": "node_modules/currently-unhandled/package.json" + "path": "node_modules/is-yarn-global/package.json" }, { - "path": "node_modules/package-hash/package.json" + "path": "node_modules/ansi-colors/package.json" }, { - "path": "node_modules/validate-npm-package-license/package.json" + "path": "node_modules/normalize-url/package.json" }, { - "path": "node_modules/bignumber.js/package.json" + "path": "node_modules/trim-newlines/package.json" }, { - "path": "node_modules/is-yarn-global/package.json" + "path": "node_modules/http-errors/package.json" }, { - "path": "node_modules/lodash.has/package.json" + "path": "node_modules/diff-match-patch/package.json" }, { - "path": "node_modules/camelcase/package.json" + "path": "node_modules/v8-compile-cache/package.json" }, { - "path": "node_modules/prelude-ls/package.json" + "path": "node_modules/power-assert-renderer-diagram/package.json" }, { - "path": "node_modules/codecov/package.json" + "path": "node_modules/redent/package.json" }, { - "path": "node_modules/es6-promise/package.json" + "path": "node_modules/set-blocking/package.json" }, { - "path": "node_modules/doctrine/package.json" + "path": "node_modules/configstore/package.json" }, { - "path": "node_modules/path-exists/package.json" + "path": "node_modules/deep-equal/package.json" }, { - "path": "node_modules/deep-extend/package.json" + "path": "node_modules/es6-weak-map/package.json" }, { - "path": "node_modules/nth-check/package.json" + "path": "node_modules/spdx-license-ids/package.json" }, { - "path": "node_modules/isarray/package.json" + "path": "node_modules/eslint-visitor-keys/package.json" }, { - "path": "node_modules/es-to-primitive/package.json" + "path": "node_modules/decamelize/package.json" }, { - "path": "node_modules/https-proxy-agent/package.json" + "path": "node_modules/eventemitter3/package.json" }, { - "path": "node_modules/eslint-plugin-es/package.json" + "path": "node_modules/p-queue/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" + "path": "node_modules/supports-color/package.json" }, { - "path": "node_modules/path-type/package.json" + "path": "node_modules/spdx-exceptions/package.json" }, { - "path": "node_modules/fast-json-stable-stringify/package.json" + "path": "node_modules/ignore-walk/package.json" }, { - "path": "node_modules/p-locate/package.json" + "path": "node_modules/source-map/package.json" }, { - "path": "node_modules/intelli-espower-loader/package.json" + "path": "node_modules/xtend/package.json" }, { - "path": "node_modules/node-fetch/package.json" + "path": "node_modules/traverse/package.json" }, { - "path": "node_modules/registry-auth-token/package.json" + "path": "node_modules/espree/package.json" }, { - "path": "node_modules/esutils/package.json" + "path": "node_modules/ini/package.json" }, { - "path": "node_modules/which-module/package.json" + "path": "node_modules/safer-buffer/package.json" }, { - "path": "node_modules/jsesc/package.json" + "path": "node_modules/etag/package.json" }, { - "path": "node_modules/function-bind/package.json" + "path": "node_modules/imurmurhash/package.json" }, { - "path": "node_modules/trim-newlines/package.json" + "path": "node_modules/escope/package.json" }, { - "path": "node_modules/event-target-shim/package.json" + "path": "node_modules/restore-cursor/package.json" }, { - "path": "node_modules/commondir/package.json" + "path": "node_modules/mdurl/package.json" }, { - "path": "node_modules/on-finished/package.json" + "path": "node_modules/path-key/package.json" }, { - "path": "node_modules/y18n/package.json" + "path": "node_modules/ms/package.json" }, { - "path": "node_modules/quick-lru/package.json" + "path": "node_modules/string.prototype.trimleft/package.json" }, { - "path": "node_modules/js-yaml/package.json" + "path": "node_modules/jsdoc/package.json" }, { - "path": "node_modules/flat/package.json" + "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/normalize-package-data/package.json" + "path": "node_modules/figures/package.json" }, { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" + "path": "node_modules/get-caller-file/package.json" }, { - "path": "node_modules/es6-iterator/package.json" + "path": "node_modules/base64-js/package.json" }, { - "path": "node_modules/mkdirp/package.json" + "path": "node_modules/event-emitter/package.json" }, { - "path": "node_modules/fast-text-encoding/package.json" + "path": "node_modules/keyv/package.json" }, { - "path": "node_modules/acorn-es7-plugin/package.json" + "path": "node_modules/path-parse/package.json" }, { - "path": "node_modules/through2/package.json" + "path": "node_modules/emoji-regex/package.json" }, { - "path": "node_modules/eslint-visitor-keys/package.json" + "path": "node_modules/camelcase-keys/package.json" }, { - "path": "node_modules/glob/package.json" + "path": "node_modules/globals/package.json" }, { - "path": "node_modules/inherits/package.json" + "path": "node_modules/is-buffer/package.json" }, { - "path": "node_modules/string.prototype.trimright/package.json" + "path": "node_modules/gtoken/package.json" }, { - "path": "node_modules/punycode/package.json" + "path": "node_modules/camelcase/package.json" }, { - "path": "node_modules/es5-ext/package.json" + "path": "node_modules/path-is-absolute/package.json" }, { - "path": "node_modules/is-date-object/package.json" + "path": "node_modules/normalize-package-data/package.json" }, { - "path": "node_modules/sprintf-js/package.json" + "path": "node_modules/normalize-package-data/node_modules/semver/package.json" }, { - "path": "node_modules/is-npm/package.json" + "path": "node_modules/css-select/package.json" }, { - "path": "node_modules/has-yarn/package.json" + "path": "node_modules/js-tokens/package.json" }, { - "path": "node_modules/get-stdin/package.json" + "path": "node_modules/y18n/package.json" }, { - "path": "node_modules/shebang-command/package.json" + "path": "node_modules/is-installed-globally/package.json" }, { - "path": "node_modules/empower-core/package.json" + "path": "node_modules/parseurl/package.json" }, { - "path": "node_modules/imurmurhash/package.json" + "path": "node_modules/os-tmpdir/package.json" }, { - "path": "node_modules/globals/package.json" + "path": "node_modules/es-to-primitive/package.json" }, { - "path": "node_modules/latest-version/package.json" + "path": "node_modules/url-parse-lax/package.json" }, { - "path": "node_modules/natural-compare/package.json" + "path": "node_modules/lodash.has/package.json" }, { - "path": "node_modules/commander/package.json" + "path": "node_modules/shebang-command/package.json" }, { - "path": "node_modules/path-is-inside/package.json" + "path": "node_modules/jwa/package.json" }, { - "path": "node_modules/rxjs/package.json" + "path": "node_modules/rimraf/package.json" }, { - "path": "node_modules/node-environment-flags/package.json" + "path": "node_modules/eslint/package.json" }, { - "path": "node_modules/node-environment-flags/node_modules/semver/package.json" + "path": "node_modules/eslint/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/p-limit/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/README.md" }, { - "path": "node_modules/call-signature/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/index.js" }, { - "path": "node_modules/istanbul-lib-coverage/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" }, { - "path": "node_modules/neo-async/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/package.json" }, { - "path": "node_modules/foreground-child/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" }, { - "path": "node_modules/foreground-child/node_modules/cross-spawn/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" }, { - "path": "node_modules/foreground-child/node_modules/lru-cache/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" }, { - "path": "node_modules/foreground-child/node_modules/yallist/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" }, { - "path": "node_modules/he/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" }, { - "path": "node_modules/meow/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" }, { - "path": "node_modules/toidentifier/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" }, { - "path": "node_modules/execa/package.json" + "path": "node_modules/eslint/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/execa/node_modules/cross-spawn/package.json" + "path": "node_modules/eslint/node_modules/path-key/package.json" }, { - "path": "node_modules/execa/node_modules/lru-cache/package.json" + "path": "node_modules/eslint/node_modules/shebang-command/package.json" }, { - "path": "node_modules/execa/node_modules/yallist/package.json" + "path": "node_modules/eslint/node_modules/debug/package.json" }, { - "path": "node_modules/execa/node_modules/is-stream/package.json" + "path": "node_modules/eslint/node_modules/which/package.json" }, { - "path": "node_modules/levn/package.json" + "path": "node_modules/eslint/node_modules/shebang-regex/package.json" }, { - "path": "node_modules/unique-string/package.json" + "path": "node_modules/escape-html/package.json" }, { - "path": "node_modules/gaxios/package.json" + "path": "node_modules/flatted/package.json" }, { - "path": "node_modules/power-assert-renderer-base/package.json" + "path": "node_modules/intelli-espower-loader/package.json" }, { - "path": "node_modules/browser-stdout/package.json" + "path": "node_modules/test-exclude/package.json" }, { - "path": "node_modules/regexp.prototype.flags/package.json" + "path": "node_modules/empower/package.json" }, { - "path": "node_modules/run-async/package.json" + "path": "node_modules/make-dir/package.json" }, { - "path": "node_modules/cheerio/package.json" + "path": "node_modules/write/package.json" }, { - "path": "node_modules/eslint-utils/package.json" + "path": "node_modules/espower-location-detector/package.json" }, { - "path": "node_modules/prepend-http/package.json" + "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" }, { - "path": "node_modules/urlgrey/package.json" + "path": "node_modules/semver-diff/package.json" }, { - "path": "node_modules/define-properties/package.json" + "path": "node_modules/es6-map/package.json" }, { - "path": "node_modules/p-timeout/package.json" + "path": "node_modules/serve-static/package.json" }, { - "path": "node_modules/cli-cursor/package.json" + "path": "node_modules/validate-npm-package-license/package.json" }, { - "path": "node_modules/pump/package.json" + "path": "node_modules/is-callable/package.json" }, { - "path": "node_modules/stringifier/package.json" + "path": "node_modules/pump/package.json" }, { - "path": "node_modules/espower-location-detector/package.json" + "path": "node_modules/ansi-styles/package.json" }, { - "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" + "path": "node_modules/mute-stream/package.json" }, { - "path": "node_modules/escape-html/package.json" + "path": "node_modules/linkify-it/package.json" }, { - "path": "node_modules/http-cache-semantics/package.json" + "path": "node_modules/path-exists/package.json" }, { - "path": "node_modules/to-readable-stream/package.json" + "path": "node_modules/power-assert-renderer-assertion/package.json" }, { - "path": "node_modules/eastasianwidth/package.json" + "path": "node_modules/esprima/package.json" }, { - "path": "node_modules/chardet/package.json" + "path": "node_modules/flat-cache/package.json" }, { - "path": "node_modules/js-tokens/package.json" + "path": "node_modules/flat-cache/node_modules/rimraf/package.json" }, { - "path": "node_modules/chalk/package.json" + "path": "node_modules/define-properties/package.json" }, { - "path": "node_modules/is-regex/package.json" + "path": "node_modules/parse-json/package.json" }, { - "path": "node_modules/ajv/package.json" + "path": "node_modules/prettier-linter-helpers/package.json" }, { - "path": "node_modules/spdx-expression-parse/package.json" + "path": "node_modules/cli-cursor/package.json" }, { - "path": "node_modules/cli-width/package.json" + "path": "node_modules/debug/package.json" }, { - "path": "node_modules/ms/package.json" + "path": "node_modules/es6-promise/package.json" }, { - "path": "node_modules/istanbul-lib-report/package.json" + "path": "node_modules/google-auth-library/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/semver/package.json" + "path": "node_modules/to-readable-stream/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/supports-color/package.json" + "path": "node_modules/minimatch/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/pify/package.json" + "path": "node_modules/mime/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/make-dir/package.json" + "path": "node_modules/klaw/package.json" }, { - "path": "node_modules/base64-js/package.json" + "path": "node_modules/send/package.json" }, { - "path": "node_modules/encodeurl/package.json" + "path": "node_modules/send/node_modules/ms/package.json" }, { - "path": "node_modules/json-buffer/package.json" + "path": "node_modules/send/node_modules/debug/package.json" }, { - "path": "node_modules/file-entry-cache/package.json" + "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" }, { - "path": "node_modules/gtoken/package.json" + "path": "node_modules/send/node_modules/mime/package.json" }, { - "path": "node_modules/klaw/package.json" + "path": "node_modules/tmp/package.json" }, { - "path": "node_modules/functional-red-black-tree/package.json" + "path": "node_modules/power-assert-renderer-base/package.json" }, { - "path": "node_modules/dom-serializer/package.json" + "path": "node_modules/boxen/package.json" }, { - "path": "node_modules/is-symbol/package.json" + "path": "node_modules/boxen/node_modules/chalk/package.json" }, { - "path": "node_modules/@babel/generator/package.json" + "path": "node_modules/rxjs/package.json" }, { - "path": "node_modules/@babel/generator/node_modules/source-map/package.json" + "path": "node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/@babel/helper-function-name/package.json" + "path": "node_modules/espower/package.json" }, { - "path": "node_modules/@babel/template/package.json" + "path": "node_modules/espower/node_modules/source-map/package.json" }, { - "path": "node_modules/@babel/helper-split-export-declaration/package.json" + "path": "node_modules/is-stream/package.json" }, { - "path": "node_modules/@babel/parser/package.json" + "path": "node_modules/has-symbols/package.json" }, { - "path": "node_modules/@babel/helper-get-function-arity/package.json" + "path": "node_modules/external-editor/package.json" }, { - "path": "node_modules/@babel/types/package.json" + "path": "node_modules/empower-core/package.json" }, { - "path": "node_modules/@babel/highlight/package.json" + "path": "node_modules/source-map-support/package.json" }, { - "path": "node_modules/@babel/traverse/package.json" + "path": "node_modules/source-map-support/node_modules/source-map/package.json" }, { - "path": "node_modules/@babel/traverse/node_modules/globals/package.json" + "path": "node_modules/semver/package.json" }, { - "path": "node_modules/@babel/traverse/node_modules/debug/package.json" + "path": "node_modules/finalhandler/package.json" }, { - "path": "node_modules/@babel/code-frame/package.json" + "path": "node_modules/finalhandler/node_modules/ms/package.json" }, { - "path": "node_modules/type-check/package.json" + "path": "node_modules/finalhandler/node_modules/debug/package.json" }, { - "path": "node_modules/iconv-lite/package.json" + "path": "node_modules/es6-symbol/package.json" }, { - "path": "node_modules/is-url/package.json" + "path": "node_modules/process-nextick-args/package.json" }, { - "path": "node_modules/domutils/package.json" + "path": "node_modules/ext/package.json" }, { - "path": "node_modules/p-queue/package.json" + "path": "node_modules/ext/node_modules/type/package.json" }, { - "path": "node_modules/eventemitter3/package.json" + "path": "node_modules/color-convert/package.json" }, { - "path": "node_modules/ext/package.json" + "path": "node_modules/es-abstract/package.json" }, { - "path": "node_modules/ext/node_modules/type/package.json" + "path": "node_modules/acorn-es7-plugin/package.json" }, { - "path": "node_modules/pkg-dir/package.json" + "path": "node_modules/is-arrayish/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/locate-path/package.json" + "path": "node_modules/esrecurse/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/find-up/package.json" + "path": "node_modules/convert-source-map/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/p-locate/package.json" + "path": "node_modules/astral-regex/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/p-limit/package.json" + "path": "node_modules/next-tick/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/p-try/package.json" + "path": "node_modules/stream-shift/package.json" }, { - "path": "node_modules/deep-equal/package.json" + "path": "node_modules/fast-json-stable-stringify/package.json" }, { - "path": "node_modules/parse5/package.json" + "path": "node_modules/esquery/package.json" }, { - "path": "node_modules/flatted/package.json" + "path": "node_modules/domelementtype/package.json" }, { - "path": "node_modules/once/package.json" + "path": "node_modules/mkdirp/package.json" }, { - "path": "node_modules/universal-deep-strict-equal/package.json" + "path": "node_modules/linkinator/package.json" }, { - "path": "node_modules/brace-expansion/package.json" + "path": "node_modules/linkinator/node_modules/chalk/package.json" }, { - "path": "node_modules/jsdoc-region-tag/package.json" + "path": "node_modules/underscore/package.json" }, { - "path": "node_modules/markdown-it-anchor/package.json" + "path": "node_modules/furi/package.json" }, { - "path": "node_modules/traverse/package.json" + "path": "node_modules/json-bigint/package.json" }, { - "path": "node_modules/restore-cursor/package.json" + "path": "node_modules/mimic-fn/package.json" }, { - "path": "node_modules/lodash.at/package.json" + "path": "node_modules/which/package.json" }, { - "path": "node_modules/graceful-fs/package.json" + "path": "node_modules/iconv-lite/package.json" }, { - "path": "node_modules/responselike/package.json" + "path": "node_modules/encodeurl/package.json" }, { - "path": "node_modules/pseudomap/package.json" + "path": "node_modules/p-finally/package.json" }, { - "path": "node_modules/espurify/package.json" + "path": "node_modules/stringifier/package.json" }, { - "path": "node_modules/espree/package.json" + "path": "node_modules/ansi-align/package.json" }, { - "path": "node_modules/power-assert-renderer-diagram/package.json" + "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/word-wrap/package.json" + "path": "node_modules/ansi-align/node_modules/string-width/package.json" }, { - "path": "node_modules/espower-source/package.json" + "path": "node_modules/ansi-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/espower-source/node_modules/acorn/package.json" + "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/normalize-url/package.json" + "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/wordwrap/package.json" + "path": "node_modules/progress/package.json" }, { - "path": "node_modules/ee-first/package.json" + "path": "node_modules/jws/package.json" }, { - "path": "node_modules/table/package.json" + "path": "node_modules/find-up/package.json" }, { - "path": "node_modules/table/node_modules/string-width/package.json" + "path": "node_modules/shebang-regex/package.json" }, { - "path": "node_modules/table/node_modules/emoji-regex/package.json" + "path": "node_modules/empower-assert/package.json" }, { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/eslint-config-prettier/package.json" }, { - "path": "node_modules/handlebars/package.json" + "path": "node_modules/browser-stdout/package.json" }, { - "path": "node_modules/es6-weak-map/package.json" + "path": "node_modules/cacheable-request/package.json" }, { - "path": "node_modules/to-fast-properties/package.json" + "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" }, { - "path": "node_modules/protobufjs/package.json" + "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/protobufjs/cli/package.json" + "path": "node_modules/universal-deep-strict-equal/package.json" }, { - "path": "node_modules/protobufjs/cli/package-lock.json" + "path": "node_modules/read-pkg-up/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" + "path": "node_modules/power-assert-renderer-file/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" + "path": "node_modules/import-fresh/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" + "path": "node_modules/run-async/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" + "path": "node_modules/balanced-match/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" + "path": "node_modules/escallmatch/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" + "path": "node_modules/escallmatch/node_modules/esprima/package.json" }, { - "path": "node_modules/espower/package.json" + "path": "node_modules/es6-set/package.json" }, { - "path": "node_modules/espower/node_modules/source-map/package.json" + "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" }, { - "path": "node_modules/strip-json-comments/package.json" + "path": "node_modules/cliui/package.json" }, { - "path": "node_modules/process-nextick-args/package.json" + "path": "node_modules/yargs/package.json" }, { - "path": "node_modules/uuid/package.json" + "path": "node_modules/unique-string/package.json" }, { - "path": "node_modules/array-find-index/package.json" + "path": "node_modules/type-name/package.json" }, { - "path": "node_modules/astral-regex/package.json" + "path": "node_modules/toidentifier/package.json" }, { - "path": "node_modules/@grpc/proto-loader/package.json" + "path": "node_modules/yargs-parser/package.json" }, { - "path": "node_modules/@grpc/grpc-js/package.json" + "path": "node_modules/is-url/package.json" }, { - "path": "node_modules/test-exclude/package.json" + "path": "node_modules/escodegen/package.json" }, { - "path": "node_modules/test-exclude/node_modules/locate-path/package.json" + "path": "node_modules/escodegen/node_modules/source-map/package.json" }, { - "path": "node_modules/test-exclude/node_modules/find-up/package.json" + "path": "node_modules/escodegen/node_modules/esprima/package.json" }, { - "path": "node_modules/test-exclude/node_modules/p-locate/package.json" + "path": "node_modules/c8/package.json" }, { - "path": "node_modules/test-exclude/node_modules/p-limit/package.json" + "path": "node_modules/meow/package.json" }, { - "path": "node_modules/test-exclude/node_modules/p-try/package.json" + "path": "node_modules/get-stdin/package.json" }, { - "path": "node_modules/test-exclude/node_modules/read-pkg-up/package.json" + "path": "node_modules/global-dirs/package.json" }, { - "path": "node_modules/es6-promisify/package.json" + "path": "node_modules/core-js/package.json" }, { - "path": "node_modules/p-try/package.json" + "path": "node_modules/extend/package.json" }, { - "path": "node_modules/optionator/package.json" + "path": "node_modules/log-symbols/package.json" }, { - "path": "node_modules/requizzle/package.json" + "path": "node_modules/hosted-git-info/package.json" }, { - "path": "node_modules/fast-levenshtein/package.json" + "path": "node_modules/is-path-inside/package.json" }, { - "path": "node_modules/statuses/package.json" + "path": "__pycache__/synth.cpython-36.pyc" }, { - "path": "node_modules/semver-diff/package.json" + "path": "protos/protos.d.ts" }, { - "path": "node_modules/semver-diff/node_modules/semver/package.json" + "path": "protos/protos.js" }, { - "path": "node_modules/signal-exit/package.json" + "path": "protos/protos.json" }, { - "path": "node_modules/jsdoc/package.json" + "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" }, { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" + "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" }, { - "path": "node_modules/duplexify/package.json" + "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" }, { - "path": "node_modules/object-is/package.json" + "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" }, { - "path": "node_modules/tslib/package.json" + "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" }, { - "path": "node_modules/extend/package.json" + "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" }, { - "path": "node_modules/nested-error-stacks/package.json" + "path": ".github/PULL_REQUEST_TEMPLATE.md" }, { - "path": "node_modules/power-assert-context-reducer-ast/package.json" + "path": ".github/release-please.yml" }, { - "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" + "path": ".github/ISSUE_TEMPLATE/support_request.md" }, { - "path": "node_modules/css-what/package.json" + "path": ".github/ISSUE_TEMPLATE/bug_report.md" }, { - "path": "node_modules/power-assert-renderer-comparison/package.json" + "path": ".github/ISSUE_TEMPLATE/feature_request.md" }, { - "path": "node_modules/ecdsa-sig-formatter/package.json" + "path": ".git/index" }, { - "path": "node_modules/spawn-wrap/package.json" + "path": ".git/packed-refs" }, { - "path": "node_modules/markdown-it/package.json" + "path": ".git/HEAD" }, { - "path": "node_modules/domelementtype/package.json" + "path": ".git/config" }, { - "path": "node_modules/ci-info/package.json" + "path": ".git/refs/heads/autosynth" }, { - "path": "node_modules/@types/color-name/package.json" + "path": ".git/refs/heads/master" }, { - "path": "node_modules/@types/node/package.json" + "path": ".git/refs/remotes/origin/HEAD" }, { - "path": "node_modules/@types/long/package.json" + "path": ".git/objects/pack/pack-85e1173357011b965d4e44a061aac18f7620dfcd.pack" }, { - "path": "node_modules/serve-static/package.json" + "path": ".git/objects/pack/pack-85e1173357011b965d4e44a061aac18f7620dfcd.idx" }, { - "path": "node_modules/make-dir/package.json" + "path": ".git/logs/HEAD" }, { - "path": "node_modules/esquery/package.json" + "path": ".git/logs/refs/heads/autosynth" }, { - "path": "node_modules/caching-transform/package.json" + "path": ".git/logs/refs/heads/master" }, { - "path": "node_modules/caching-transform/node_modules/semver/package.json" + "path": ".git/logs/refs/remotes/origin/HEAD" }, { - "path": "node_modules/caching-transform/node_modules/pify/package.json" + "path": ".kokoro/samples-test.sh" }, { - "path": "node_modules/caching-transform/node_modules/make-dir/package.json" + "path": ".kokoro/test.sh" }, { - "path": "node_modules/emoji-regex/package.json" + "path": ".kokoro/test.bat" }, { - "path": "node_modules/read-pkg/package.json" + "path": ".kokoro/trampoline.sh" }, { - "path": "node_modules/fast-diff/package.json" + "path": ".kokoro/.gitattributes" }, { - "path": "node_modules/xtend/package.json" + "path": ".kokoro/publish.sh" }, { - "path": "node_modules/resolve/package.json" + "path": ".kokoro/lint.sh" }, { - "path": "node_modules/lowercase-keys/package.json" + "path": ".kokoro/pre-samples-test.sh" }, { - "path": "node_modules/is-fullwidth-code-point/package.json" + "path": ".kokoro/docs.sh" }, { - "path": "node_modules/read-pkg-up/package.json" + "path": ".kokoro/common.cfg" }, { - "path": "node_modules/p-cancelable/package.json" + "path": ".kokoro/system-test.sh" }, { - "path": "node_modules/acorn-jsx/package.json" + "path": ".kokoro/continuous/node10/lint.cfg" }, { - "path": "node_modules/power-assert-context-traversal/package.json" + "path": ".kokoro/continuous/node10/samples-test.cfg" }, { - "path": "node_modules/long/package.json" + "path": ".kokoro/continuous/node10/system-test.cfg" }, { - "path": "node_modules/d/package.json" + "path": ".kokoro/continuous/node10/common.cfg" }, { - "path": "node_modules/debug/package.json" + "path": ".kokoro/continuous/node10/test.cfg" }, { - "path": "node_modules/mimic-fn/package.json" + "path": ".kokoro/continuous/node10/docs.cfg" }, { - "path": "node_modules/isexe/package.json" + "path": ".kokoro/continuous/node8/common.cfg" }, { - "path": "node_modules/multi-stage-sourcemap/package.json" + "path": ".kokoro/continuous/node8/test.cfg" }, { - "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" + "path": ".kokoro/continuous/node12/common.cfg" }, { - "path": "node_modules/find-cache-dir/package.json" + "path": ".kokoro/continuous/node12/test.cfg" }, { - "path": "node_modules/find-cache-dir/node_modules/semver/package.json" + "path": ".kokoro/release/publish.cfg" }, { - "path": "node_modules/find-cache-dir/node_modules/pify/package.json" + "path": ".kokoro/release/docs.sh" }, { - "path": "node_modules/find-cache-dir/node_modules/make-dir/package.json" + "path": ".kokoro/release/docs.cfg" }, { - "path": "node_modules/uc.micro/package.json" + "path": ".kokoro/presubmit/windows/common.cfg" }, { - "path": "node_modules/fs.realpath/package.json" + "path": ".kokoro/presubmit/windows/test.cfg" }, { - "path": "node_modules/eslint-plugin-prettier/package.json" + "path": ".kokoro/presubmit/node10/lint.cfg" }, { - "path": "node_modules/yargs/package.json" + "path": ".kokoro/presubmit/node10/samples-test.cfg" }, { - "path": "node_modules/yargs/node_modules/string-width/package.json" + "path": ".kokoro/presubmit/node10/system-test.cfg" }, { - "path": "node_modules/yargs/node_modules/locate-path/package.json" + "path": ".kokoro/presubmit/node10/common.cfg" }, { - "path": "node_modules/yargs/node_modules/find-up/package.json" + "path": ".kokoro/presubmit/node10/test.cfg" }, { - "path": "node_modules/yargs/node_modules/yargs-parser/package.json" + "path": ".kokoro/presubmit/node10/docs.cfg" }, { - "path": "node_modules/yargs/node_modules/camelcase/package.json" + "path": ".kokoro/presubmit/node8/common.cfg" }, { - "path": "node_modules/yargs/node_modules/p-locate/package.json" + "path": ".kokoro/presubmit/node8/test.cfg" }, { - "path": "node_modules/yargs/node_modules/p-limit/package.json" + "path": ".kokoro/presubmit/node12/common.cfg" }, { - "path": "node_modules/yargs/node_modules/p-try/package.json" + "path": ".kokoro/presubmit/node12/test.cfg" }, { - "path": "node_modules/yargs/node_modules/emoji-regex/package.json" + "path": "smoke-test/.eslintrc.yml" }, { - "path": "node_modules/yargs/node_modules/is-fullwidth-code-point/package.json" + "path": "smoke-test/video_intelligence_service_smoke_test.js" }, { - "path": "node_modules/nice-try/package.json" + "path": "system-test/.eslintrc.yml" }, { - "path": "node_modules/has/package.json" + "path": "system-test/video_intelligence_service_smoke_test.js" }, { - "path": "node_modules/xmlcreate/package.json" + "path": "test/gapic-v1beta2.js" }, { - "path": "node_modules/escallmatch/package.json" + "path": "test/mocha.opts" }, { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" + "path": "test/.eslintrc.yml" }, { - "path": "node_modules/get-caller-file/package.json" + "path": "test/gapic-v1.js" }, { - "path": "node_modules/jwa/package.json" + "path": "test/gapic-v1p1beta1.js" }, { - "path": "smoke-test/.eslintrc.yml" + "path": "test/gapic-v1p3beta1.js" }, { - "path": "smoke-test/video_intelligence_service_smoke_test.js" + "path": "test/gapic-v1p2beta1.js" } ] } \ No newline at end of file From cb247f7fe37f787827979269d5465bf46e8d4e39 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 3 Jan 2020 10:11:09 -0800 Subject: [PATCH 236/418] refactor: use explicit mocha imports (#341) --- packages/google-cloud-videointelligence/samples/.eslintrc.yml | 2 -- .../google-cloud-videointelligence/smoke-test/.eslintrc.yml | 2 -- .../google-cloud-videointelligence/system-test/.eslintrc.yml | 2 -- .../system-test/video_intelligence_service_smoke_test.js | 2 ++ packages/google-cloud-videointelligence/test/.eslintrc.yml | 3 --- packages/google-cloud-videointelligence/test/gapic-v1.js | 1 + packages/google-cloud-videointelligence/test/gapic-v1beta2.js | 1 + .../google-cloud-videointelligence/test/gapic-v1p1beta1.js | 1 + .../google-cloud-videointelligence/test/gapic-v1p2beta1.js | 1 + .../google-cloud-videointelligence/test/gapic-v1p3beta1.js | 1 + 10 files changed, 7 insertions(+), 9 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/test/.eslintrc.yml diff --git a/packages/google-cloud-videointelligence/samples/.eslintrc.yml b/packages/google-cloud-videointelligence/samples/.eslintrc.yml index f9605165c0f..282535f55f6 100644 --- a/packages/google-cloud-videointelligence/samples/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/samples/.eslintrc.yml @@ -1,5 +1,3 @@ --- -env: - mocha: true rules: no-console: off diff --git a/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml b/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml index 69644b3bae0..3bc357436b8 100644 --- a/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml @@ -1,5 +1,3 @@ --- -env: - mocha: true rules: no-undef: off diff --git a/packages/google-cloud-videointelligence/system-test/.eslintrc.yml b/packages/google-cloud-videointelligence/system-test/.eslintrc.yml index f9605165c0f..282535f55f6 100644 --- a/packages/google-cloud-videointelligence/system-test/.eslintrc.yml +++ b/packages/google-cloud-videointelligence/system-test/.eslintrc.yml @@ -1,5 +1,3 @@ --- -env: - mocha: true rules: no-console: off diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js index 93ecf729e3e..ebe48556bd2 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js @@ -14,6 +14,8 @@ 'use strict'; +const {describe, it} = require('mocha'); + describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { const videoIntelligence = require('../src'); diff --git a/packages/google-cloud-videointelligence/test/.eslintrc.yml b/packages/google-cloud-videointelligence/test/.eslintrc.yml deleted file mode 100644 index 6db2a46c535..00000000000 --- a/packages/google-cloud-videointelligence/test/.eslintrc.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -env: - mocha: true diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index b8e48288276..2787834bd48 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const videoIntelligenceModule = require('../src'); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 20ec155ba9e..7eb10349cd0 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const videoIntelligenceModule = require('../src'); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index aec9fe858f7..7ad4290b971 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const videoIntelligenceModule = require('../src'); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index d7c132ddd77..20dc70f7bbf 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const videoIntelligenceModule = require('../src'); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index cd2f1d4235c..40278f1b92e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const {PassThrough} = require('stream'); const videoIntelligenceModule = require('../src'); From 1f2b32570dd92cc9ad126605b5ceac688d19cf60 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 3 Jan 2020 22:52:05 -0800 Subject: [PATCH 237/418] test: explicitly require mocha (#343) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * chore: address linting, for now Co-authored-by: Benjamin E. Coe Co-authored-by: Alexander Fenster --- .../google-cloud-videointelligence/.nycrc | 1 + .../video_intelligence_service_smoke_test.js | 2 + .../synth.metadata | 1544 +++++++++-------- 3 files changed, 787 insertions(+), 760 deletions(-) diff --git a/packages/google-cloud-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc index 367688844eb..b18d5472b62 100644 --- a/packages/google-cloud-videointelligence/.nycrc +++ b/packages/google-cloud-videointelligence/.nycrc @@ -12,6 +12,7 @@ "**/scripts", "**/protos", "**/test", + "**/*.d.ts", ".jsdoc.js", "**/.jsdoc.js", "karma.conf.js", diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js index f4683f9be64..97e8d9d2953 100644 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js @@ -14,6 +14,8 @@ 'use strict'; +const {describe} = require('mocha'); + describe('VideoIntelligenceServiceSmokeTest', () => { LongRunningOptionalArrayMethod$; }); diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index fe082632ecf..d996dbdaa53 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2020-01-01T12:12:24.677187Z", + "updateTime": "2020-01-03T12:25:34.186761Z", "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": "ec285d3d230810147ebbf8d5b691ee90320c6d2d", - "internalRef": "287608953" + "sha": "4d45a6399e9444fbddaeb1c86aabfde210723714", + "internalRef": "287908369" } }, { @@ -78,2278 +78,2302 @@ ], "newFiles": [ { - "path": "README.md" + "path": "synth.metadata" }, { - "path": "package-lock.json" + "path": ".repo-metadata.json" }, { - "path": ".jsdoc.js" + "path": "CONTRIBUTING.md" }, { - "path": ".nycrc" + "path": "linkinator.config.json" }, { - "path": "synth.py" + "path": ".prettierignore" }, { - "path": ".repo-metadata.json" + "path": ".jsdoc.js" }, { "path": ".gitignore" }, { - "path": ".prettierrc" + "path": "synth.py" }, { - "path": ".eslintignore" + "path": "CODE_OF_CONDUCT.md" }, { - "path": "codecov.yaml" + "path": "README.md" }, { - "path": "LICENSE" + "path": "package-lock.json" }, { - "path": "webpack.config.js" + "path": ".prettierrc" }, { - "path": ".eslintrc.yml" + "path": "codecov.yaml" }, { - "path": ".prettierignore" + "path": ".nycrc" }, { - "path": "CODE_OF_CONDUCT.md" + "path": "package.json" }, { - "path": "synth.metadata" + "path": "webpack.config.js" }, { - "path": "package.json" + "path": ".eslintrc.yml" }, { - "path": "linkinator.config.json" + "path": "renovate.json" + }, + { + "path": "LICENSE" }, { "path": "CHANGELOG.md" }, { - "path": "renovate.json" + "path": ".eslintignore" }, { - "path": "CONTRIBUTING.md" + "path": ".github/PULL_REQUEST_TEMPLATE.md" }, { - "path": "samples/README.md" + "path": ".github/release-please.yml" }, { - "path": "samples/analyze-streaming-annotation-to-storage.js" + "path": ".github/ISSUE_TEMPLATE/support_request.md" }, { - "path": "samples/analyze-streaming-safe-search.js" + "path": ".github/ISSUE_TEMPLATE/bug_report.md" }, { - "path": "samples/analyze-streaming-object.js" + "path": ".github/ISSUE_TEMPLATE/feature_request.md" }, { - "path": "samples/analyze-streaming-automl-classification.js" + "path": ".kokoro/samples-test.sh" }, { - "path": "samples/analyze-streaming-shot-change.js" + "path": ".kokoro/system-test.sh" }, { - "path": "samples/analyze.v1p2beta1.js" + "path": ".kokoro/docs.sh" }, { - "path": "samples/analyze-streaming-labels.js" + "path": ".kokoro/lint.sh" }, { - "path": "samples/.eslintrc.yml" + "path": ".kokoro/.gitattributes" }, { - "path": "samples/analyze.js" + "path": ".kokoro/pre-samples-test.sh" }, { - "path": "samples/quickstart.js" + "path": ".kokoro/publish.sh" }, { - "path": "samples/package.json" + "path": ".kokoro/trampoline.sh" }, { - "path": "samples/resources/cat.mp4" + "path": ".kokoro/common.cfg" }, { - "path": "samples/resources/googlework_short.mp4" + "path": ".kokoro/test.bat" }, { - "path": "samples/system-test/analyze.v1p2beta1.test.js" + "path": ".kokoro/test.sh" }, { - "path": "samples/system-test/analyze-streaming-automl-classification.test.js" + "path": ".kokoro/release/docs.sh" }, { - "path": "samples/system-test/analyze-streaming-labels.test.js" + "path": ".kokoro/release/docs.cfg" }, { - "path": "samples/system-test/analyze-streaming-object.test.js" + "path": ".kokoro/release/publish.cfg" }, { - "path": "samples/system-test/analyze.test.js" + "path": ".kokoro/presubmit/node12/test.cfg" }, { - "path": "samples/system-test/analyze-streaming-safe-search.test.js" + "path": ".kokoro/presubmit/node12/common.cfg" }, { - "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" + "path": ".kokoro/presubmit/node8/test.cfg" }, { - "path": "samples/system-test/quickstart.test.js" + "path": ".kokoro/presubmit/node8/common.cfg" }, { - "path": "samples/system-test/analyze-streaming-shot-change.test.js" + "path": ".kokoro/presubmit/windows/test.cfg" }, { - "path": "src/index.js" + "path": ".kokoro/presubmit/windows/common.cfg" }, { - "path": "src/browser.js" + "path": ".kokoro/presubmit/node10/lint.cfg" }, { - "path": "src/v1p1beta1/video_intelligence_service_client.js" + "path": ".kokoro/presubmit/node10/system-test.cfg" }, { - "path": "src/v1p1beta1/index.js" + "path": ".kokoro/presubmit/node10/test.cfg" }, { - "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" + "path": ".kokoro/presubmit/node10/docs.cfg" }, { - "path": "src/v1p1beta1/video_intelligence_service_client_config.json" + "path": ".kokoro/presubmit/node10/common.cfg" }, { - "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" + "path": ".kokoro/presubmit/node10/samples-test.cfg" }, { - "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" + "path": ".kokoro/continuous/node12/test.cfg" }, { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + "path": ".kokoro/continuous/node12/common.cfg" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + "path": ".kokoro/continuous/node8/test.cfg" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" + "path": ".kokoro/continuous/node8/common.cfg" }, { - "path": "src/v1beta2/video_intelligence_service_client.js" + "path": ".kokoro/continuous/node10/lint.cfg" }, { - "path": "src/v1beta2/index.js" + "path": ".kokoro/continuous/node10/system-test.cfg" }, { - "path": "src/v1beta2/video_intelligence_service_proto_list.json" + "path": ".kokoro/continuous/node10/test.cfg" }, { - "path": "src/v1beta2/video_intelligence_service_client_config.json" + "path": ".kokoro/continuous/node10/docs.cfg" }, { - "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" + "path": ".kokoro/continuous/node10/common.cfg" }, { - "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" + "path": ".kokoro/continuous/node10/samples-test.cfg" }, { - "path": "src/v1beta2/doc/google/rpc/doc_status.js" + "path": "test/gapic-v1p1beta1.js" }, { - "path": "src/v1beta2/doc/google/protobuf/doc_any.js" + "path": "test/gapic-v1p3beta1.js" }, { - "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" + "path": "test/gapic-v1beta2.js" }, { - "path": "src/v1p2beta1/video_intelligence_service_client.js" + "path": "test/gapic-v1.js" }, { - "path": "src/v1p2beta1/index.js" + "path": "test/mocha.opts" }, { - "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" + "path": "test/gapic-v1p2beta1.js" }, { - "path": "src/v1p2beta1/video_intelligence_service_client_config.json" + "path": "test/.eslintrc.yml" }, { - "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" + "path": "system-test/video_intelligence_service_smoke_test.js" }, { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + "path": "system-test/.eslintrc.yml" }, { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + "path": "protos/protos.d.ts" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + "path": "protos/protos.js" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" + "path": "protos/protos.json" }, { - "path": "src/v1p3beta1/video_intelligence_service_client.js" + "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" }, { - "path": "src/v1p3beta1/index.js" + "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" + "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" }, { - "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" + "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" }, { - "path": "src/v1p3beta1/video_intelligence_service_client_config.json" + "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" + "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" + "path": ".git/shallow" }, { - "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" + "path": ".git/HEAD" }, { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + "path": ".git/config" }, { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + "path": ".git/packed-refs" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + "path": ".git/index" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" + "path": ".git/objects/pack/pack-fa06cf268a96928cefe632cba82173ce81368de2.idx" }, { - "path": "src/v1/video_intelligence_service_client.js" + "path": ".git/objects/pack/pack-fa06cf268a96928cefe632cba82173ce81368de2.pack" }, { - "path": "src/v1/index.js" + "path": ".git/logs/HEAD" }, { - "path": "src/v1/video_intelligence_service_proto_list.json" + "path": ".git/logs/refs/heads/master" }, { - "path": "src/v1/video_intelligence_service_client_config.json" + "path": ".git/logs/refs/heads/autosynth" }, { - "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" + "path": ".git/logs/refs/remotes/origin/HEAD" }, { - "path": "src/v1/doc/google/longrunning/doc_operations.js" + "path": ".git/refs/heads/master" }, { - "path": "src/v1/doc/google/rpc/doc_status.js" + "path": ".git/refs/heads/autosynth" }, { - "path": "src/v1/doc/google/protobuf/doc_any.js" + "path": ".git/refs/remotes/origin/HEAD" }, { - "path": "src/v1/doc/google/protobuf/doc_duration.js" + "path": "src/index.js" }, { - "path": "node_modules/diff/package.json" + "path": "src/browser.js" }, { - "path": "node_modules/range-parser/package.json" + "path": "src/v1p2beta1/index.js" }, { - "path": "node_modules/object.getownpropertydescriptors/package.json" + "path": "src/v1p2beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/strip-ansi/package.json" + "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/write-file-atomic/package.json" + "path": "src/v1p2beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/espurify/package.json" + "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/jsdoc-fresh/package.json" + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" + "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" }, { - "path": "node_modules/nth-check/package.json" + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/string_decoder/package.json" + "path": "src/v1beta2/index.js" }, { - "path": "node_modules/is-glob/package.json" + "path": "src/v1beta2/video_intelligence_service_client_config.json" }, { - "path": "node_modules/latest-version/package.json" + "path": "src/v1beta2/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/domhandler/package.json" + "path": "src/v1beta2/video_intelligence_service_client.js" }, { - "path": "node_modules/xdg-basedir/package.json" + "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/isarray/package.json" + "path": "src/v1beta2/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/levn/package.json" + "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/unpipe/package.json" + "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" }, { - "path": "node_modules/js-yaml/package.json" + "path": "src/v1beta2/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/is-date-object/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" }, { - "path": "node_modules/has-yarn/package.json" + "path": "src/v1p3beta1/index.js" }, { - "path": "node_modules/he/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" }, { - "path": "node_modules/defer-to-connect/package.json" + "path": "src/v1p3beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/flat/package.json" + "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/eslint-scope/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" }, { - "path": "node_modules/function-bind/package.json" + "path": "src/v1p3beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/depd/package.json" + "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/safe-buffer/package.json" + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/get-stream/package.json" + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/google-p12-pem/package.json" + "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" }, { - "path": "node_modules/requizzle/package.json" + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/eslint-utils/package.json" + "path": "src/v1p1beta1/index.js" }, { - "path": "node_modules/indexof/package.json" + "path": "src/v1p1beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/setprototypeof/package.json" + "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/slice-ansi/package.json" + "path": "src/v1p1beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/slice-ansi/node_modules/color-name/package.json" + "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" + "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" + "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" }, { - "path": "node_modules/glob/package.json" + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/ignore/package.json" + "path": "src/v1/index.js" }, { - "path": "node_modules/is-extglob/package.json" + "path": "src/v1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/locate-path/package.json" + "path": "src/v1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/update-notifier/package.json" + "path": "src/v1/video_intelligence_service_client.js" }, { - "path": "node_modules/update-notifier/node_modules/chalk/package.json" + "path": "src/v1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/on-finished/package.json" + "path": "src/v1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/core-util-is/package.json" + "path": "src/v1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/parse5/package.json" + "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" }, { - "path": "node_modules/istanbul-lib-report/package.json" + "path": "src/v1/doc/google/rpc/doc_status.js" + }, + { + "path": "node_modules/progress/package.json" + }, + { + "path": "node_modules/is-ci/package.json" + }, + { + "path": "node_modules/lru-cache/package.json" + }, + { + "path": "node_modules/destroy/package.json" }, { "path": "node_modules/power-assert-context-formatter/package.json" }, { - "path": "node_modules/minimist-options/package.json" + "path": "node_modules/fast-json-stable-stringify/package.json" }, { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" + "path": "node_modules/nice-try/package.json" }, { - "path": "node_modules/inquirer/package.json" + "path": "node_modules/which-module/package.json" }, { - "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" + "path": "node_modules/array-find/package.json" }, { - "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" + "path": "node_modules/catharsis/package.json" }, { - "path": "node_modules/destroy/package.json" + "path": "node_modules/is-promise/package.json" }, { - "path": "node_modules/deep-is/package.json" + "path": "node_modules/v8-compile-cache/package.json" }, { - "path": "node_modules/import-lazy/package.json" + "path": "node_modules/doctrine/package.json" }, { - "path": "node_modules/resolve/package.json" + "path": "node_modules/callsites/package.json" }, { - "path": "node_modules/word-wrap/package.json" + "path": "node_modules/diff/package.json" }, { - "path": "node_modules/node-fetch/package.json" + "path": "node_modules/hosted-git-info/package.json" }, { - "path": "node_modules/abort-controller/package.json" + "path": "node_modules/color-name/package.json" }, { - "path": "node_modules/ee-first/package.json" + "path": "node_modules/defer-to-connect/package.json" }, { - "path": "node_modules/is-symbol/package.json" + "path": "node_modules/unpipe/package.json" }, { - "path": "node_modules/spdx-expression-parse/package.json" + "path": "node_modules/emoji-regex/package.json" }, { - "path": "node_modules/gaxios/package.json" + "path": "node_modules/http-errors/package.json" }, { - "path": "node_modules/uuid/package.json" + "path": "node_modules/eventemitter3/package.json" }, { - "path": "node_modules/rc/package.json" + "path": "node_modules/esutils/package.json" }, { - "path": "node_modules/rc/node_modules/strip-json-comments/package.json" + "path": "node_modules/he/package.json" }, { - "path": "node_modules/rc/node_modules/minimist/package.json" + "path": "node_modules/on-finished/package.json" }, { - "path": "node_modules/is-arguments/package.json" + "path": "node_modules/linkinator/package.json" }, { - "path": "node_modules/p-locate/package.json" + "path": "node_modules/linkinator/node_modules/chalk/package.json" }, { - "path": "node_modules/html-escaper/package.json" + "path": "node_modules/update-notifier/package.json" }, { - "path": "node_modules/wrap-ansi/package.json" + "path": "node_modules/update-notifier/node_modules/chalk/package.json" }, { - "path": "node_modules/css-what/package.json" + "path": "node_modules/p-cancelable/package.json" }, { - "path": "node_modules/tslib/package.json" + "path": "node_modules/markdown-it/package.json" }, { - "path": "node_modules/buffer-equal-constant-time/package.json" + "path": "node_modules/dot-prop/package.json" }, { - "path": "node_modules/doctrine/package.json" + "path": "node_modules/require-main-filename/package.json" }, { - "path": "node_modules/htmlparser2/package.json" + "path": "node_modules/fast-diff/package.json" }, { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + "path": "node_modules/lodash.camelcase/package.json" }, { - "path": "node_modules/cross-spawn/package.json" + "path": "node_modules/redent/package.json" }, { - "path": "node_modules/amdefine/package.json" + "path": "node_modules/resolve/package.json" }, { - "path": "node_modules/eastasianwidth/package.json" + "path": "node_modules/globals/package.json" }, { - "path": "node_modules/v8-to-istanbul/package.json" + "path": "node_modules/range-parser/package.json" }, { - "path": "node_modules/mimic-response/package.json" + "path": "node_modules/string.prototype.trimright/package.json" }, { - "path": "node_modules/registry-url/package.json" + "path": "node_modules/inflight/package.json" }, { - "path": "node_modules/call-signature/package.json" + "path": "node_modules/debug/package.json" }, { - "path": "node_modules/@protobufjs/path/package.json" + "path": "node_modules/htmlparser2/package.json" }, { - "path": "node_modules/@protobufjs/utf8/package.json" + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" }, { - "path": "node_modules/@protobufjs/inquire/package.json" + "path": "node_modules/semver-diff/package.json" }, { - "path": "node_modules/@protobufjs/eventemitter/package.json" + "path": "node_modules/semver-diff/node_modules/semver/package.json" }, { - "path": "node_modules/@protobufjs/base64/package.json" + "path": "node_modules/multi-stage-sourcemap/package.json" }, { - "path": "node_modules/@protobufjs/codegen/package.json" + "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" }, { - "path": "node_modules/@protobufjs/float/package.json" + "path": "node_modules/ms/package.json" }, { - "path": "node_modules/@protobufjs/aspromise/package.json" + "path": "node_modules/linkify-it/package.json" }, { - "path": "node_modules/@protobufjs/fetch/package.json" + "path": "node_modules/through/package.json" }, { - "path": "node_modules/@protobufjs/pool/package.json" + "path": "node_modules/power-assert-renderer-file/package.json" }, { - "path": "node_modules/lowercase-keys/package.json" + "path": "node_modules/string-width/package.json" }, { - "path": "node_modules/sprintf-js/package.json" + "path": "node_modules/html-escaper/package.json" }, { - "path": "node_modules/@sindresorhus/is/package.json" + "path": "node_modules/type/package.json" }, { - "path": "node_modules/parent-module/package.json" + "path": "node_modules/type-fest/package.json" }, { - "path": "node_modules/espower-source/package.json" + "path": "node_modules/intelli-espower-loader/package.json" }, { - "path": "node_modules/espower-source/node_modules/acorn/package.json" + "path": "node_modules/parseurl/package.json" }, { - "path": "node_modules/table/package.json" + "path": "node_modules/google-p12-pem/package.json" }, { - "path": "node_modules/table/node_modules/strip-ansi/package.json" + "path": "node_modules/get-caller-file/package.json" }, { - "path": "node_modules/table/node_modules/string-width/package.json" + "path": "node_modules/klaw/package.json" }, { - "path": "node_modules/table/node_modules/ansi-regex/package.json" + "path": "node_modules/map-obj/package.json" }, { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/node-fetch/package.json" }, { - "path": "node_modules/table/node_modules/emoji-regex/package.json" + "path": "node_modules/jsonexport/package.json" }, { - "path": "node_modules/node-forge/package.json" + "path": "node_modules/isexe/package.json" }, { - "path": "node_modules/responselike/package.json" + "path": "node_modules/escallmatch/package.json" }, { - "path": "node_modules/@grpc/grpc-js/package.json" + "path": "node_modules/escallmatch/node_modules/esprima/package.json" }, { - "path": "node_modules/@grpc/proto-loader/package.json" + "path": "node_modules/espower/package.json" }, { - "path": "node_modules/is-regex/package.json" + "path": "node_modules/espower/node_modules/source-map/package.json" }, { - "path": "node_modules/fs.realpath/package.json" + "path": "node_modules/run-async/package.json" }, { - "path": "node_modules/markdown-it-anchor/package.json" + "path": "node_modules/validate-npm-package-license/package.json" }, { - "path": "node_modules/gcp-metadata/package.json" + "path": "node_modules/file-entry-cache/package.json" }, { - "path": "node_modules/cheerio/package.json" + "path": "node_modules/meow/package.json" }, { - "path": "node_modules/onetime/package.json" + "path": "node_modules/concat-map/package.json" }, { - "path": "node_modules/readable-stream/package.json" + "path": "node_modules/term-size/package.json" }, { - "path": "node_modules/espower-loader/package.json" + "path": "node_modules/xmlcreate/package.json" }, { - "path": "node_modules/fresh/package.json" + "path": "node_modules/ansi-regex/package.json" }, { - "path": "node_modules/ajv/package.json" + "path": "node_modules/yallist/package.json" }, { - "path": "node_modules/bluebird/package.json" + "path": "node_modules/json-bigint/package.json" }, { - "path": "node_modules/cli-width/package.json" + "path": "node_modules/resolve-from/package.json" }, { - "path": "node_modules/ecdsa-sig-formatter/package.json" + "path": "node_modules/is-buffer/package.json" }, { - "path": "node_modules/acorn-jsx/package.json" + "path": "node_modules/cliui/package.json" }, { - "path": "node_modules/spdx-correct/package.json" + "path": "node_modules/toidentifier/package.json" }, { - "path": "node_modules/object-inspect/package.json" + "path": "node_modules/balanced-match/package.json" }, { - "path": "node_modules/crypto-random-string/package.json" + "path": "node_modules/marked/package.json" }, { - "path": "node_modules/growl/package.json" + "path": "node_modules/wrappy/package.json" }, { - "path": "node_modules/chardet/package.json" + "path": "node_modules/jsdoc-region-tag/package.json" }, { - "path": "node_modules/node-environment-flags/package.json" + "path": "node_modules/json-stable-stringify-without-jsonify/package.json" }, { - "path": "node_modules/node-environment-flags/node_modules/semver/package.json" + "path": "node_modules/glob-parent/package.json" }, { - "path": "node_modules/google-gax/package.json" + "path": "node_modules/xtend/package.json" }, { - "path": "node_modules/es6-promisify/package.json" + "path": "node_modules/is-arguments/package.json" }, { - "path": "node_modules/is-typedarray/package.json" + "path": "node_modules/set-blocking/package.json" }, { - "path": "node_modules/indent-string/package.json" + "path": "node_modules/istanbul-lib-report/package.json" }, { - "path": "node_modules/hard-rejection/package.json" + "path": "node_modules/ansi-align/package.json" }, { - "path": "node_modules/es5-ext/package.json" + "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/fast-deep-equal/package.json" + "path": "node_modules/ansi-align/node_modules/string-width/package.json" }, { - "path": "node_modules/cli-boxes/package.json" + "path": "node_modules/ansi-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/markdown-it/package.json" + "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/eslint-plugin-es/package.json" + "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" + "path": "node_modules/duplexer3/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" + "path": "node_modules/esprima/package.json" }, { - "path": "node_modules/typedarray-to-buffer/README.md" + "path": "node_modules/is-stream-ended/package.json" }, { - "path": "node_modules/typedarray-to-buffer/index.js" + "path": "node_modules/minimatch/package.json" }, { - "path": "node_modules/typedarray-to-buffer/LICENSE" + "path": "node_modules/crypto-random-string/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.airtap.yml" + "path": "node_modules/growl/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.travis.yml" + "path": "node_modules/string.prototype.trimleft/package.json" }, { - "path": "node_modules/typedarray-to-buffer/package.json" + "path": "node_modules/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/typedarray-to-buffer/test/basic.js" + "path": "node_modules/normalize-package-data/package.json" }, { - "path": "node_modules/merge-estraverse-visitors/package.json" + "path": "node_modules/normalize-package-data/node_modules/semver/package.json" }, { - "path": "node_modules/lodash.at/package.json" + "path": "node_modules/fast-text-encoding/package.json" }, { - "path": "node_modules/signal-exit/package.json" + "path": "node_modules/server-destroy/package.json" }, { - "path": "node_modules/power-assert-util-string-width/package.json" + "path": "node_modules/prelude-ls/package.json" }, { - "path": "node_modules/argparse/package.json" + "path": "node_modules/d/package.json" }, { - "path": "node_modules/eslint-plugin-node/package.json" + "path": "node_modules/protobufjs/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" + "path": "node_modules/protobufjs/cli/package-lock.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" + "path": "node_modules/protobufjs/cli/package.json" }, { - "path": "node_modules/type-check/package.json" + "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" }, { - "path": "node_modules/require-main-filename/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/fast-diff/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" }, { - "path": "node_modules/lodash/package.json" + "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" }, { - "path": "node_modules/deep-extend/package.json" + "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" }, { - "path": "node_modules/chalk/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" }, { - "path": "node_modules/chalk/node_modules/has-flag/package.json" + "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" }, { - "path": "node_modules/chalk/node_modules/color-name/package.json" + "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" }, { - "path": "node_modules/chalk/node_modules/supports-color/package.json" + "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" }, { - "path": "node_modules/chalk/node_modules/ansi-styles/package.json" + "path": "node_modules/domhandler/package.json" }, { - "path": "node_modules/chalk/node_modules/color-convert/package.json" + "path": "node_modules/ansi-escapes/package.json" }, { - "path": "node_modules/uc.micro/package.json" + "path": "node_modules/power-assert-renderer-base/package.json" }, { - "path": "node_modules/http-cache-semantics/package.json" + "path": "node_modules/boolbase/package.json" }, { - "path": "node_modules/p-timeout/package.json" + "path": "node_modules/indent-string/package.json" }, { - "path": "node_modules/argv/package.json" + "path": "node_modules/lodash/package.json" }, { - "path": "node_modules/type/package.json" + "path": "node_modules/taffydb/package.json" }, { - "path": "node_modules/p-cancelable/package.json" + "path": "node_modules/extend/package.json" }, { - "path": "node_modules/object-keys/package.json" + "path": "node_modules/is-yarn-global/package.json" }, { - "path": "node_modules/is-obj/package.json" + "path": "node_modules/dom-serializer/package.json" }, { - "path": "node_modules/prettier/package.json" + "path": "node_modules/end-of-stream/package.json" }, { - "path": "node_modules/clone-response/package.json" + "path": "node_modules/log-symbols/package.json" }, { - "path": "node_modules/event-target-shim/package.json" + "path": "node_modules/is-callable/package.json" }, { - "path": "node_modules/multi-stage-sourcemap/package.json" + "path": "node_modules/es5-ext/package.json" }, { - "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" + "path": "node_modules/stringifier/package.json" }, { - "path": "node_modules/wide-align/package.json" + "path": "node_modules/es6-weak-map/package.json" }, { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" + "path": "node_modules/camelcase-keys/package.json" }, { - "path": "node_modules/wide-align/node_modules/string-width/package.json" + "path": "node_modules/decompress-response/package.json" }, { - "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" + "path": "node_modules/js-yaml/package.json" }, { - "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/cli-boxes/package.json" }, { - "path": "node_modules/strip-indent/package.json" + "path": "node_modules/is-obj/package.json" }, { - "path": "node_modules/boolbase/package.json" + "path": "node_modules/is-typedarray/package.json" }, { - "path": "node_modules/eslint-plugin-prettier/package.json" + "path": "node_modules/registry-auth-token/package.json" }, { - "path": "node_modules/package-json/package.json" + "path": "node_modules/read-pkg-up/package.json" }, { - "path": "node_modules/dot-prop/package.json" + "path": "node_modules/buffer-equal-constant-time/package.json" }, { - "path": "node_modules/ci-info/package.json" + "path": "node_modules/@bcoe/v8-coverage/package.json" }, { - "path": "node_modules/which-module/package.json" + "path": "node_modules/eslint-scope/package.json" }, { - "path": "node_modules/d/package.json" + "path": "node_modules/stream-shift/package.json" }, { - "path": "node_modules/https-proxy-agent/package.json" + "path": "node_modules/is-extglob/package.json" }, { - "path": "node_modules/decompress-response/package.json" + "path": "node_modules/typedarray-to-buffer/index.js" }, { - "path": "node_modules/is-stream-ended/package.json" + "path": "node_modules/typedarray-to-buffer/README.md" }, { - "path": "node_modules/uri-js/package.json" + "path": "node_modules/typedarray-to-buffer/.airtap.yml" }, { - "path": "node_modules/long/package.json" + "path": "node_modules/typedarray-to-buffer/.travis.yml" }, { - "path": "node_modules/graceful-fs/package.json" + "path": "node_modules/typedarray-to-buffer/package.json" }, { - "path": "node_modules/@bcoe/v8-coverage/package.json" + "path": "node_modules/typedarray-to-buffer/LICENSE" }, { - "path": "node_modules/power-assert/package.json" + "path": "node_modules/typedarray-to-buffer/test/basic.js" }, { - "path": "node_modules/object.assign/package.json" + "path": "node_modules/restore-cursor/package.json" }, { - "path": "node_modules/bignumber.js/package.json" + "path": "node_modules/mimic-response/package.json" }, { - "path": "node_modules/decamelize-keys/package.json" + "path": "node_modules/normalize-url/package.json" }, { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" + "path": "node_modules/fresh/package.json" }, { - "path": "node_modules/taffydb/package.json" + "path": "node_modules/imurmurhash/package.json" }, { - "path": "node_modules/esutils/package.json" + "path": "node_modules/indexof/package.json" }, { - "path": "node_modules/duplexer3/package.json" + "path": "node_modules/codecov/package.json" }, { - "path": "node_modules/inherits/package.json" + "path": "node_modules/ajv/package.json" }, { - "path": "node_modules/lru-cache/package.json" + "path": "node_modules/is-path-inside/package.json" }, { - "path": "node_modules/term-size/package.json" + "path": "node_modules/import-lazy/package.json" }, { - "path": "node_modules/xmlcreate/package.json" + "path": "node_modules/json-schema-traverse/package.json" }, { - "path": "node_modules/js2xmlparser/package.json" + "path": "node_modules/rxjs/package.json" }, { - "path": "node_modules/through/package.json" + "path": "node_modules/p-locate/package.json" }, { - "path": "node_modules/registry-auth-token/package.json" + "path": "node_modules/figures/package.json" }, { - "path": "node_modules/file-entry-cache/package.json" + "path": "node_modules/underscore/package.json" }, { - "path": "node_modules/error-ex/package.json" + "path": "node_modules/finalhandler/package.json" }, { - "path": "node_modules/domutils/package.json" + "path": "node_modules/finalhandler/node_modules/debug/package.json" }, { - "path": "node_modules/regexpp/package.json" + "path": "node_modules/finalhandler/node_modules/ms/package.json" }, { - "path": "node_modules/has-flag/package.json" + "path": "node_modules/ignore/package.json" }, { - "path": "node_modules/string-width/package.json" + "path": "node_modules/argv/package.json" }, { - "path": "node_modules/has/package.json" + "path": "node_modules/path-is-absolute/package.json" }, { - "path": "node_modules/inflight/package.json" + "path": "node_modules/graceful-fs/package.json" }, { - "path": "node_modules/end-of-stream/package.json" + "path": "node_modules/google-gax/package.json" }, { - "path": "node_modules/prepend-http/package.json" + "path": "node_modules/onetime/package.json" }, { - "path": "node_modules/object-is/package.json" + "path": "node_modules/path-key/package.json" }, { - "path": "node_modules/ansi-regex/package.json" + "path": "node_modules/core-util-is/package.json" }, { - "path": "node_modules/optionator/package.json" + "path": "node_modules/array-filter/package.json" }, { - "path": "node_modules/json-schema-traverse/package.json" + "path": "node_modules/prepend-http/package.json" }, { - "path": "node_modules/through2/package.json" + "path": "node_modules/write/package.json" }, { - "path": "node_modules/map-obj/package.json" + "path": "node_modules/duplexify/package.json" }, { - "path": "node_modules/nice-try/package.json" + "path": "node_modules/camelcase/package.json" }, { - "path": "node_modules/yargs-unparser/package.json" + "path": "node_modules/error-ex/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" + "path": "node_modules/empower-assert/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" + "path": "node_modules/boxen/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" + "path": "node_modules/boxen/node_modules/chalk/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" + "path": "node_modules/node-environment-flags/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" + "path": "node_modules/node-environment-flags/node_modules/semver/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" + "path": "node_modules/c8/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" + "path": "node_modules/gcp-metadata/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/json-buffer/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" + "path": "node_modules/mkdirp/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" + "path": "node_modules/bluebird/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" + "path": "node_modules/shebang-command/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" + "path": "node_modules/serve-static/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" + "path": "node_modules/path-parse/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" + "path": "node_modules/mime/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" + "path": "node_modules/yargs-unparser/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" }, { - "path": "node_modules/read-pkg/package.json" + "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/read-pkg/node_modules/type-fest/package.json" + "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" }, { - "path": "node_modules/isexe/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/concat-map/package.json" + "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" }, { - "path": "node_modules/is-windows/package.json" + "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" }, { - "path": "node_modules/quick-lru/package.json" + "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" }, { - "path": "node_modules/got/package.json" + "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/estraverse/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/callsites/package.json" + "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/duplexify/package.json" + "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" }, { - "path": "node_modules/@babel/code-frame/package.json" + "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/@babel/highlight/package.json" + "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" }, { - "path": "node_modules/@babel/parser/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" }, { - "path": "node_modules/brace-expansion/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" }, { - "path": "node_modules/yallist/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/entities/package.json" + "path": "node_modules/lines-and-columns/package.json" }, { - "path": "node_modules/is-npm/package.json" + "path": "node_modules/is-url/package.json" }, { - "path": "node_modules/retry-request/package.json" + "path": "node_modules/chalk/package.json" }, { - "path": "node_modules/retry-request/node_modules/debug/package.json" + "path": "node_modules/chalk/node_modules/color-name/package.json" }, { - "path": "node_modules/@istanbuljs/schema/package.json" + "path": "node_modules/chalk/node_modules/has-flag/package.json" }, { - "path": "node_modules/once/package.json" + "path": "node_modules/chalk/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/fast-levenshtein/package.json" + "path": "node_modules/chalk/node_modules/supports-color/package.json" + }, + { + "path": "node_modules/chalk/node_modules/color-convert/package.json" + }, + { + "path": "node_modules/locate-path/package.json" + }, + { + "path": "node_modules/spdx-expression-parse/package.json" }, { - "path": "node_modules/json-parse-better-errors/package.json" + "path": "node_modules/power-assert-util-string-width/package.json" }, { - "path": "node_modules/color-name/package.json" + "path": "node_modules/esquery/package.json" }, { - "path": "node_modules/server-destroy/package.json" + "path": "node_modules/to-readable-stream/package.json" }, { - "path": "node_modules/istanbul-lib-coverage/package.json" + "path": "node_modules/jsdoc-fresh/package.json" }, { - "path": "node_modules/mocha/package.json" + "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-ansi/package.json" + "path": "node_modules/espower-location-detector/package.json" }, { - "path": "node_modules/mocha/node_modules/glob/package.json" + "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" }, { - "path": "node_modules/mocha/node_modules/locate-path/package.json" + "path": "node_modules/strip-ansi/package.json" }, { - "path": "node_modules/mocha/node_modules/p-locate/package.json" + "path": "node_modules/is-arrayish/package.json" }, { - "path": "node_modules/mocha/node_modules/wrap-ansi/package.json" + "path": "node_modules/prettier-linter-helpers/package.json" }, { - "path": "node_modules/mocha/node_modules/has-flag/package.json" + "path": "node_modules/chardet/package.json" }, { - "path": "node_modules/mocha/node_modules/string-width/package.json" + "path": "node_modules/amdefine/package.json" }, { - "path": "node_modules/mocha/node_modules/ansi-regex/package.json" + "path": "node_modules/http-cache-semantics/package.json" }, { - "path": "node_modules/mocha/node_modules/color-name/package.json" + "path": "node_modules/has-flag/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" + "path": "node_modules/cheerio/package.json" }, { - "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/domelementtype/package.json" }, { - "path": "node_modules/mocha/node_modules/supports-color/package.json" + "path": "node_modules/@szmarczak/http-timer/package.json" }, { - "path": "node_modules/mocha/node_modules/ms/package.json" + "path": "node_modules/tmp/package.json" }, { - "path": "node_modules/mocha/node_modules/emoji-regex/package.json" + "path": "node_modules/entities/package.json" }, { - "path": "node_modules/mocha/node_modules/ansi-styles/package.json" + "path": "node_modules/argparse/package.json" }, { - "path": "node_modules/mocha/node_modules/path-exists/package.json" + "path": "node_modules/has/package.json" }, { - "path": "node_modules/mocha/node_modules/color-convert/package.json" + "path": "node_modules/ee-first/package.json" }, { - "path": "node_modules/mocha/node_modules/which/package.json" + "path": "node_modules/object-inspect/package.json" }, { - "path": "node_modules/mocha/node_modules/find-up/package.json" + "path": "node_modules/deep-equal/package.json" }, { - "path": "node_modules/mocha/node_modules/cliui/package.json" + "path": "node_modules/table/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs/package.json" + "path": "node_modules/table/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" + "path": "node_modules/table/node_modules/string-width/package.json" }, { - "path": "node_modules/punycode/package.json" + "path": "node_modules/table/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/prelude-ls/package.json" + "path": "node_modules/table/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/walkdir/package.json" + "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/statuses/package.json" + "path": "node_modules/spdx-correct/package.json" }, { - "path": "node_modules/util-deprecate/package.json" + "path": "node_modules/get-stream/package.json" }, { - "path": "node_modules/min-indent/package.json" + "path": "node_modules/power-assert/package.json" }, { - "path": "node_modules/marked/package.json" + "path": "node_modules/statuses/package.json" }, { - "path": "node_modules/acorn/package.json" + "path": "node_modules/@istanbuljs/schema/package.json" }, { - "path": "node_modules/power-assert-formatter/package.json" + "path": "node_modules/es6-set/package.json" }, { - "path": "node_modules/glob-parent/package.json" + "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" }, { - "path": "node_modules/fast-text-encoding/package.json" + "path": "node_modules/istanbul-reports/package.json" }, { - "path": "node_modules/require-directory/package.json" + "path": "node_modules/@grpc/grpc-js/package.json" }, { - "path": "node_modules/functional-red-black-tree/package.json" + "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" }, { - "path": "node_modules/text-table/package.json" + "path": "node_modules/@grpc/proto-loader/package.json" }, { - "path": "node_modules/is-ci/package.json" + "path": "node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/array-filter/package.json" + "path": "node_modules/etag/package.json" }, { - "path": "node_modules/foreground-child/package.json" + "path": "node_modules/y18n/package.json" }, { - "path": "node_modules/es6-iterator/package.json" + "path": "node_modules/diff-match-patch/package.json" }, { - "path": "node_modules/ansi-escapes/package.json" + "path": "node_modules/es6-iterator/package.json" }, { - "path": "node_modules/p-limit/package.json" + "path": "node_modules/eslint-plugin-node/package.json" }, { - "path": "node_modules/agent-base/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" }, { - "path": "node_modules/urlgrey/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/semver/package.json" }, { - "path": "node_modules/jsdoc-region-tag/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/istanbul-reports/package.json" + "path": "node_modules/natural-compare/package.json" }, { - "path": "node_modules/strip-json-comments/package.json" + "path": "node_modules/uuid/package.json" }, { - "path": "node_modules/json-buffer/package.json" + "path": "node_modules/event-target-shim/package.json" }, { - "path": "node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/arrify/package.json" }, { - "path": "node_modules/array-find/package.json" + "path": "node_modules/widest-line/package.json" }, { - "path": "node_modules/dom-serializer/package.json" + "path": "node_modules/ignore-walk/package.json" }, { - "path": "node_modules/call-matcher/package.json" + "path": "node_modules/util-deprecate/package.json" }, { - "path": "node_modules/teeny-request/package.json" + "path": "node_modules/function-bind/package.json" }, { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" + "path": "node_modules/object-is/package.json" }, { - "path": "node_modules/power-assert-context-traversal/package.json" + "path": "node_modules/@types/color-name/package.json" }, { - "path": "node_modules/catharsis/package.json" + "path": "node_modules/@types/node/package.json" }, { - "path": "node_modules/lodash.camelcase/package.json" + "path": "node_modules/@types/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/@szmarczak/http-timer/package.json" + "path": "node_modules/@types/normalize-package-data/package.json" }, { - "path": "node_modules/jsonexport/package.json" + "path": "node_modules/@types/is-windows/package.json" }, { - "path": "node_modules/is-plain-obj/package.json" + "path": "node_modules/@types/minimist/package.json" }, { - "path": "node_modules/arrify/package.json" + "path": "node_modules/@types/fs-extra/package.json" }, { - "path": "node_modules/power-assert-context-reducer-ast/package.json" + "path": "node_modules/@types/long/package.json" }, { - "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" + "path": "node_modules/is-windows/package.json" }, { - "path": "node_modules/power-assert-renderer-comparison/package.json" + "path": "node_modules/levn/package.json" }, { - "path": "node_modules/resolve-from/package.json" + "path": "node_modules/global-dirs/package.json" }, { - "path": "node_modules/lines-and-columns/package.json" + "path": "node_modules/power-assert-renderer-diagram/package.json" }, { - "path": "node_modules/is-promise/package.json" + "path": "node_modules/is-stream/package.json" }, { - "path": "node_modules/regexp.prototype.flags/package.json" + "path": "node_modules/es6-symbol/package.json" }, { - "path": "node_modules/minimist/package.json" + "path": "node_modules/parse-json/package.json" }, { - "path": "node_modules/p-try/package.json" + "path": "node_modules/xdg-basedir/package.json" }, { - "path": "node_modules/protobufjs/package.json" + "path": "node_modules/spdx-license-ids/package.json" }, { - "path": "node_modules/protobufjs/cli/package-lock.json" + "path": "node_modules/google-auth-library/package.json" }, { - "path": "node_modules/protobufjs/cli/package.json" + "path": "node_modules/brace-expansion/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" + "path": "node_modules/type-name/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" + "path": "node_modules/define-properties/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" + "path": "node_modules/universal-deep-strict-equal/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" + "path": "node_modules/jws/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" + "path": "node_modules/nth-check/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" + "path": "node_modules/empower/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" + "path": "node_modules/send/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" + "path": "node_modules/send/node_modules/debug/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" + "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" }, { - "path": "node_modules/string.prototype.trimright/package.json" + "path": "node_modules/send/node_modules/ms/package.json" }, { - "path": "node_modules/type-fest/package.json" + "path": "node_modules/send/node_modules/mime/package.json" }, { - "path": "node_modules/widest-line/package.json" + "path": "node_modules/require-directory/package.json" }, { - "path": "node_modules/wrappy/package.json" + "path": "node_modules/object.assign/package.json" }, { - "path": "node_modules/@types/long/package.json" + "path": "node_modules/is-npm/package.json" }, { - "path": "node_modules/@types/is-windows/package.json" + "path": "node_modules/min-indent/package.json" }, { - "path": "node_modules/@types/color-name/package.json" + "path": "node_modules/functional-red-black-tree/package.json" }, { - "path": "node_modules/@types/istanbul-lib-coverage/package.json" + "path": "node_modules/read-pkg/package.json" }, { - "path": "node_modules/@types/minimist/package.json" + "path": "node_modules/read-pkg/node_modules/type-fest/package.json" }, { - "path": "node_modules/@types/normalize-package-data/package.json" + "path": "node_modules/registry-url/package.json" }, { - "path": "node_modules/@types/node/package.json" + "path": "node_modules/is-regex/package.json" }, { - "path": "node_modules/natural-compare/package.json" + "path": "node_modules/es-abstract/package.json" }, { - "path": "node_modules/codecov/package.json" + "path": "node_modules/parent-module/package.json" }, { - "path": "node_modules/is-yarn-global/package.json" + "path": "node_modules/signal-exit/package.json" }, { - "path": "node_modules/ansi-colors/package.json" + "path": "node_modules/import-fresh/package.json" }, { - "path": "node_modules/normalize-url/package.json" + "path": "node_modules/keyv/package.json" }, { - "path": "node_modules/trim-newlines/package.json" + "path": "node_modules/estraverse/package.json" }, { - "path": "node_modules/http-errors/package.json" + "path": "node_modules/fast-deep-equal/package.json" }, { - "path": "node_modules/diff-match-patch/package.json" + "path": "node_modules/mute-stream/package.json" }, { - "path": "node_modules/v8-compile-cache/package.json" + "path": "node_modules/power-assert-context-traversal/package.json" }, { - "path": "node_modules/power-assert-renderer-diagram/package.json" + "path": "node_modules/rimraf/package.json" }, { - "path": "node_modules/redent/package.json" + "path": "node_modules/is-installed-globally/package.json" }, { - "path": "node_modules/set-blocking/package.json" + "path": "node_modules/get-stdin/package.json" }, { - "path": "node_modules/configstore/package.json" + "path": "node_modules/make-dir/package.json" }, { - "path": "node_modules/deep-equal/package.json" + "path": "node_modules/make-dir/node_modules/semver/package.json" }, { - "path": "node_modules/es6-weak-map/package.json" + "path": "node_modules/es6-promise/package.json" }, { - "path": "node_modules/spdx-license-ids/package.json" + "path": "node_modules/os-tmpdir/package.json" }, { - "path": "node_modules/eslint-visitor-keys/package.json" + "path": "node_modules/retry-request/package.json" }, { - "path": "node_modules/decamelize/package.json" + "path": "node_modules/retry-request/node_modules/debug/package.json" }, { - "path": "node_modules/eventemitter3/package.json" + "path": "node_modules/cli-cursor/package.json" }, { - "path": "node_modules/p-queue/package.json" + "path": "node_modules/ext/package.json" }, { - "path": "node_modules/supports-color/package.json" + "path": "node_modules/ext/node_modules/type/package.json" }, { - "path": "node_modules/spdx-exceptions/package.json" + "path": "node_modules/is-symbol/package.json" }, { - "path": "node_modules/ignore-walk/package.json" + "path": "node_modules/css-what/package.json" }, { - "path": "node_modules/source-map/package.json" + "path": "node_modules/punycode/package.json" }, { - "path": "node_modules/xtend/package.json" + "path": "node_modules/setprototypeof/package.json" }, { - "path": "node_modules/traverse/package.json" + "path": "node_modules/word-wrap/package.json" }, { - "path": "node_modules/espree/package.json" + "path": "node_modules/foreground-child/package.json" }, { - "path": "node_modules/ini/package.json" + "path": "node_modules/es6-map/package.json" }, { - "path": "node_modules/safer-buffer/package.json" + "path": "node_modules/call-signature/package.json" }, { - "path": "node_modules/etag/package.json" + "path": "node_modules/package-json/package.json" }, { - "path": "node_modules/imurmurhash/package.json" + "path": "node_modules/package-json/node_modules/semver/package.json" }, { - "path": "node_modules/escope/package.json" + "path": "node_modules/css-select/package.json" }, { - "path": "node_modules/restore-cursor/package.json" + "path": "node_modules/eslint-plugin-prettier/package.json" }, { - "path": "node_modules/mdurl/package.json" + "path": "node_modules/p-finally/package.json" }, { - "path": "node_modules/path-key/package.json" + "path": "node_modules/inquirer/package.json" }, { - "path": "node_modules/ms/package.json" + "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/string.prototype.trimleft/package.json" + "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/jsdoc/package.json" + "path": "node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" + "path": "node_modules/glob/package.json" }, { - "path": "node_modules/figures/package.json" + "path": "node_modules/mocha/package.json" }, { - "path": "node_modules/get-caller-file/package.json" + "path": "node_modules/mocha/node_modules/color-name/package.json" }, { - "path": "node_modules/base64-js/package.json" + "path": "node_modules/mocha/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/event-emitter/package.json" + "path": "node_modules/mocha/node_modules/ms/package.json" }, { - "path": "node_modules/keyv/package.json" + "path": "node_modules/mocha/node_modules/string-width/package.json" }, { - "path": "node_modules/path-parse/package.json" + "path": "node_modules/mocha/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/emoji-regex/package.json" + "path": "node_modules/mocha/node_modules/cliui/package.json" }, { - "path": "node_modules/camelcase-keys/package.json" + "path": "node_modules/mocha/node_modules/p-locate/package.json" }, { - "path": "node_modules/globals/package.json" + "path": "node_modules/mocha/node_modules/locate-path/package.json" }, { - "path": "node_modules/is-buffer/package.json" + "path": "node_modules/mocha/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/gtoken/package.json" + "path": "node_modules/mocha/node_modules/has-flag/package.json" }, { - "path": "node_modules/camelcase/package.json" + "path": "node_modules/mocha/node_modules/glob/package.json" }, { - "path": "node_modules/path-is-absolute/package.json" + "path": "node_modules/mocha/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/normalize-package-data/package.json" + "path": "node_modules/mocha/node_modules/which/package.json" }, { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" + "path": "node_modules/mocha/node_modules/supports-color/package.json" }, { - "path": "node_modules/css-select/package.json" + "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/js-tokens/package.json" + "path": "node_modules/mocha/node_modules/find-up/package.json" }, { - "path": "node_modules/y18n/package.json" + "path": "node_modules/mocha/node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/is-installed-globally/package.json" + "path": "node_modules/mocha/node_modules/path-exists/package.json" }, { - "path": "node_modules/parseurl/package.json" + "path": "node_modules/mocha/node_modules/yargs/package.json" }, { - "path": "node_modules/os-tmpdir/package.json" + "path": "node_modules/mocha/node_modules/color-convert/package.json" }, { - "path": "node_modules/es-to-primitive/package.json" + "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/url-parse-lax/package.json" + "path": "node_modules/mocha/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/lodash.has/package.json" + "path": "node_modules/event-emitter/package.json" }, { - "path": "node_modules/shebang-command/package.json" + "path": "node_modules/@protobufjs/codegen/package.json" }, { - "path": "node_modules/jwa/package.json" + "path": "node_modules/@protobufjs/base64/package.json" }, { - "path": "node_modules/rimraf/package.json" + "path": "node_modules/@protobufjs/utf8/package.json" }, { - "path": "node_modules/eslint/package.json" + "path": "node_modules/@protobufjs/pool/package.json" }, { - "path": "node_modules/eslint/node_modules/strip-ansi/package.json" + "path": "node_modules/@protobufjs/float/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/README.md" + "path": "node_modules/@protobufjs/fetch/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/index.js" + "path": "node_modules/@protobufjs/path/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" + "path": "node_modules/@protobufjs/aspromise/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/package.json" + "path": "node_modules/@protobufjs/inquire/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" + "path": "node_modules/@protobufjs/eventemitter/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" + "path": "node_modules/node-forge/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" + "path": "node_modules/lodash.has/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" + "path": "node_modules/source-map-support/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" + "path": "node_modules/source-map-support/node_modules/source-map/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" + "path": "node_modules/has-symbols/package.json" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" + "path": "node_modules/espurify/package.json" }, { - "path": "node_modules/eslint/node_modules/ansi-regex/package.json" + "path": "node_modules/lodash.at/package.json" }, { - "path": "node_modules/eslint/node_modules/path-key/package.json" + "path": "node_modules/ansi-styles/package.json" }, { - "path": "node_modules/eslint/node_modules/shebang-command/package.json" + "path": "node_modules/merge-estraverse-visitors/package.json" }, { - "path": "node_modules/eslint/node_modules/debug/package.json" + "path": "node_modules/ansi-colors/package.json" }, { - "path": "node_modules/eslint/node_modules/which/package.json" + "path": "node_modules/p-try/package.json" }, { - "path": "node_modules/eslint/node_modules/shebang-regex/package.json" + "path": "node_modules/escope/package.json" }, { - "path": "node_modules/escape-html/package.json" + "path": "node_modules/json-parse-better-errors/package.json" }, { - "path": "node_modules/flatted/package.json" + "path": "node_modules/readable-stream/package.json" }, { - "path": "node_modules/intelli-espower-loader/package.json" + "path": "node_modules/abort-controller/package.json" }, { - "path": "node_modules/test-exclude/package.json" + "path": "node_modules/which/package.json" }, { - "path": "node_modules/empower/package.json" + "path": "node_modules/astral-regex/package.json" }, { - "path": "node_modules/make-dir/package.json" + "path": "node_modules/escodegen/package.json" }, { - "path": "node_modules/write/package.json" + "path": "node_modules/escodegen/node_modules/esprima/package.json" }, { - "path": "node_modules/espower-location-detector/package.json" + "path": "node_modules/escodegen/node_modules/source-map/package.json" }, { - "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" + "path": "node_modules/minimist/package.json" }, { - "path": "node_modules/semver-diff/package.json" + "path": "node_modules/clone-response/package.json" }, { - "path": "node_modules/es6-map/package.json" + "path": "node_modules/ecdsa-sig-formatter/package.json" }, { - "path": "node_modules/serve-static/package.json" + "path": "node_modules/requizzle/package.json" }, { - "path": "node_modules/validate-npm-package-license/package.json" + "path": "node_modules/base64-js/package.json" }, { - "path": "node_modules/is-callable/package.json" + "path": "node_modules/object-keys/package.json" }, { - "path": "node_modules/pump/package.json" + "path": "node_modules/trim-newlines/package.json" }, { - "path": "node_modules/ansi-styles/package.json" + "path": "node_modules/deep-is/package.json" }, { - "path": "node_modules/mute-stream/package.json" + "path": "node_modules/fast-levenshtein/package.json" }, { - "path": "node_modules/linkify-it/package.json" + "path": "node_modules/shebang-regex/package.json" }, { - "path": "node_modules/path-exists/package.json" + "path": "node_modules/eslint-plugin-es/package.json" }, { - "path": "node_modules/power-assert-renderer-assertion/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/esprima/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" }, { - "path": "node_modules/flat-cache/package.json" + "path": "node_modules/semver/package.json" }, { - "path": "node_modules/flat-cache/node_modules/rimraf/package.json" + "path": "node_modules/unique-string/package.json" }, { - "path": "node_modules/define-properties/package.json" + "path": "node_modules/decamelize/package.json" }, { - "path": "node_modules/parse-json/package.json" + "path": "node_modules/acorn/package.json" }, { - "path": "node_modules/prettier-linter-helpers/package.json" + "path": "node_modules/wide-align/package.json" }, { - "path": "node_modules/cli-cursor/package.json" + "path": "node_modules/wide-align/node_modules/string-width/package.json" }, { - "path": "node_modules/debug/package.json" + "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/es6-promise/package.json" + "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/google-auth-library/package.json" + "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/to-readable-stream/package.json" + "path": "node_modules/got/package.json" }, { - "path": "node_modules/minimatch/package.json" + "path": "node_modules/sprintf-js/package.json" }, { - "path": "node_modules/mime/package.json" + "path": "node_modules/isarray/package.json" }, { - "path": "node_modules/klaw/package.json" + "path": "node_modules/string_decoder/package.json" }, { - "path": "node_modules/send/package.json" + "path": "node_modules/p-limit/package.json" }, { - "path": "node_modules/send/node_modules/ms/package.json" + "path": "node_modules/url-parse-lax/package.json" }, { - "path": "node_modules/send/node_modules/debug/package.json" + "path": "node_modules/mimic-fn/package.json" }, { - "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" + "path": "node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/send/node_modules/mime/package.json" + "path": "node_modules/ini/package.json" }, { - "path": "node_modules/tmp/package.json" + "path": "node_modules/js2xmlparser/package.json" }, { - "path": "node_modules/power-assert-renderer-base/package.json" + "path": "node_modules/spdx-exceptions/package.json" }, { - "path": "node_modules/boxen/package.json" + "path": "node_modules/external-editor/package.json" }, { - "path": "node_modules/boxen/node_modules/chalk/package.json" + "path": "node_modules/power-assert-formatter/package.json" }, { - "path": "node_modules/rxjs/package.json" + "path": "node_modules/eslint-utils/package.json" }, { - "path": "node_modules/escape-string-regexp/package.json" + "path": "node_modules/text-table/package.json" }, { - "path": "node_modules/espower/package.json" + "path": "node_modules/domutils/package.json" }, { - "path": "node_modules/espower/node_modules/source-map/package.json" + "path": "node_modules/supports-color/package.json" }, { - "path": "node_modules/is-stream/package.json" + "path": "node_modules/strip-indent/package.json" }, { - "path": "node_modules/has-symbols/package.json" + "path": "node_modules/fs.realpath/package.json" }, { - "path": "node_modules/external-editor/package.json" + "path": "node_modules/parse5/package.json" }, { - "path": "node_modules/empower-core/package.json" + "path": "node_modules/decamelize-keys/package.json" }, { - "path": "node_modules/source-map-support/package.json" + "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" }, { - "path": "node_modules/source-map-support/node_modules/source-map/package.json" + "path": "node_modules/empower-core/package.json" }, { - "path": "node_modules/semver/package.json" + "path": "node_modules/acorn-es7-plugin/package.json" }, { - "path": "node_modules/finalhandler/package.json" + "path": "node_modules/p-timeout/package.json" }, { - "path": "node_modules/finalhandler/node_modules/ms/package.json" + "path": "node_modules/espree/package.json" }, { - "path": "node_modules/finalhandler/node_modules/debug/package.json" + "path": "node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/es6-symbol/package.json" + "path": "node_modules/responselike/package.json" }, { - "path": "node_modules/process-nextick-args/package.json" + "path": "node_modules/next-tick/package.json" }, { - "path": "node_modules/ext/package.json" + "path": "node_modules/esrecurse/package.json" }, { - "path": "node_modules/ext/node_modules/type/package.json" + "path": "node_modules/bignumber.js/package.json" }, { - "path": "node_modules/color-convert/package.json" + "path": "node_modules/source-map/package.json" }, { - "path": "node_modules/es-abstract/package.json" + "path": "node_modules/find-up/package.json" }, { - "path": "node_modules/acorn-es7-plugin/package.json" + "path": "node_modules/traverse/package.json" }, { - "path": "node_modules/is-arrayish/package.json" + "path": "node_modules/es-to-primitive/package.json" }, { - "path": "node_modules/esrecurse/package.json" + "path": "node_modules/rc/package.json" }, { - "path": "node_modules/convert-source-map/package.json" + "path": "node_modules/rc/node_modules/minimist/package.json" }, { - "path": "node_modules/astral-regex/package.json" + "path": "node_modules/rc/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/next-tick/package.json" + "path": "node_modules/safe-buffer/package.json" }, { - "path": "node_modules/stream-shift/package.json" + "path": "node_modules/uc.micro/package.json" }, { - "path": "node_modules/fast-json-stable-stringify/package.json" + "path": "node_modules/flat-cache/package.json" }, { - "path": "node_modules/esquery/package.json" + "path": "node_modules/flat-cache/node_modules/rimraf/package.json" }, { - "path": "node_modules/domelementtype/package.json" + "path": "node_modules/once/package.json" }, { - "path": "node_modules/mkdirp/package.json" + "path": "node_modules/gtoken/package.json" }, { - "path": "node_modules/linkinator/package.json" + "path": "node_modules/urlgrey/package.json" }, { - "path": "node_modules/linkinator/node_modules/chalk/package.json" + "path": "node_modules/convert-source-map/package.json" }, { - "path": "node_modules/underscore/package.json" + "path": "node_modules/is-date-object/package.json" }, { - "path": "node_modules/furi/package.json" + "path": "node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/json-bigint/package.json" + "path": "node_modules/iconv-lite/package.json" }, { - "path": "node_modules/mimic-fn/package.json" + "path": "node_modules/is-glob/package.json" }, { - "path": "node_modules/which/package.json" + "path": "node_modules/furi/package.json" }, { - "path": "node_modules/iconv-lite/package.json" + "path": "node_modules/tslib/package.json" }, { - "path": "node_modules/encodeurl/package.json" + "path": "node_modules/markdown-it-anchor/package.json" }, { - "path": "node_modules/p-finally/package.json" + "path": "node_modules/browser-stdout/package.json" }, { - "path": "node_modules/stringifier/package.json" + "path": "node_modules/pump/package.json" }, { - "path": "node_modules/ansi-align/package.json" + "path": "node_modules/process-nextick-args/package.json" }, { - "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" + "path": "node_modules/deep-extend/package.json" }, { - "path": "node_modules/ansi-align/node_modules/string-width/package.json" + "path": "node_modules/power-assert-context-reducer-ast/package.json" }, { - "path": "node_modules/ansi-align/node_modules/ansi-regex/package.json" + "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" }, { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/type-check/package.json" }, { - "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" + "path": "node_modules/teeny-request/package.json" }, { - "path": "node_modules/progress/package.json" + "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/jws/package.json" + "path": "node_modules/jwa/package.json" }, { - "path": "node_modules/find-up/package.json" + "path": "node_modules/walkdir/package.json" }, { - "path": "node_modules/shebang-regex/package.json" + "path": "node_modules/hard-rejection/package.json" }, { - "path": "node_modules/empower-assert/package.json" + "path": "node_modules/espower-source/package.json" }, { - "path": "node_modules/eslint-config-prettier/package.json" + "path": "node_modules/espower-source/node_modules/acorn/package.json" }, { - "path": "node_modules/browser-stdout/package.json" + "path": "node_modules/cross-spawn/package.json" }, { - "path": "node_modules/cacheable-request/package.json" + "path": "node_modules/@sindresorhus/is/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" + "path": "node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" + "path": "node_modules/quick-lru/package.json" }, { - "path": "node_modules/universal-deep-strict-equal/package.json" + "path": "node_modules/path-exists/package.json" }, { - "path": "node_modules/read-pkg-up/package.json" + "path": "node_modules/jsdoc/package.json" }, { - "path": "node_modules/power-assert-renderer-file/package.json" + "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/import-fresh/package.json" + "path": "node_modules/cacheable-request/package.json" }, { - "path": "node_modules/run-async/package.json" + "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" }, { - "path": "node_modules/balanced-match/package.json" + "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/escallmatch/package.json" + "path": "node_modules/escape-html/package.json" }, { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" + "path": "node_modules/power-assert-renderer-assertion/package.json" }, { - "path": "node_modules/es6-set/package.json" + "path": "node_modules/minimist-options/package.json" }, { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" + "path": "node_modules/minimist-options/node_modules/arrify/package.json" }, { - "path": "node_modules/cliui/package.json" + "path": "node_modules/latest-version/package.json" }, { - "path": "node_modules/yargs/package.json" + "path": "node_modules/optionator/package.json" }, { - "path": "node_modules/unique-string/package.json" + "path": "node_modules/slice-ansi/package.json" }, { - "path": "node_modules/type-name/package.json" + "path": "node_modules/slice-ansi/node_modules/color-name/package.json" }, { - "path": "node_modules/toidentifier/package.json" + "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/yargs-parser/package.json" + "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/is-url/package.json" + "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" }, { - "path": "node_modules/escodegen/package.json" + "path": "node_modules/power-assert-renderer-comparison/package.json" }, { - "path": "node_modules/escodegen/node_modules/source-map/package.json" + "path": "node_modules/flatted/package.json" }, { - "path": "node_modules/escodegen/node_modules/esprima/package.json" + "path": "node_modules/inherits/package.json" }, { - "path": "node_modules/c8/package.json" + "path": "node_modules/depd/package.json" }, { - "path": "node_modules/meow/package.json" + "path": "node_modules/es6-promisify/package.json" }, { - "path": "node_modules/get-stdin/package.json" + "path": "node_modules/long/package.json" }, { - "path": "node_modules/global-dirs/package.json" + "path": "node_modules/regexpp/package.json" }, { - "path": "node_modules/core-js/package.json" + "path": "node_modules/cli-width/package.json" }, { - "path": "node_modules/extend/package.json" + "path": "node_modules/call-matcher/package.json" }, { - "path": "node_modules/log-symbols/package.json" + "path": "node_modules/eslint/package.json" }, { - "path": "node_modules/hosted-git-info/package.json" + "path": "node_modules/eslint/node_modules/debug/package.json" }, { - "path": "node_modules/is-path-inside/package.json" + "path": "node_modules/eslint/node_modules/ansi-regex/package.json" }, { - "path": "__pycache__/synth.cpython-36.pyc" + "path": "node_modules/eslint/node_modules/path-key/package.json" }, { - "path": "protos/protos.d.ts" + "path": "node_modules/eslint/node_modules/shebang-command/package.json" }, { - "path": "protos/protos.js" + "path": "node_modules/eslint/node_modules/strip-ansi/package.json" }, { - "path": "protos/protos.json" + "path": "node_modules/eslint/node_modules/which/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/shebang-regex/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/semver/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/cross-spawn/index.js" }, { - "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/cross-spawn/README.md" }, { - "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/cross-spawn/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" + "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" }, { - "path": ".github/PULL_REQUEST_TEMPLATE.md" + "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" }, { - "path": ".github/release-please.yml" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" }, { - "path": ".github/ISSUE_TEMPLATE/support_request.md" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" }, { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" }, { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" }, { - "path": ".git/index" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" }, { - "path": ".git/packed-refs" + "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" }, { - "path": ".git/HEAD" + "path": "node_modules/mdurl/package.json" }, { - "path": ".git/config" + "path": "node_modules/v8-to-istanbul/package.json" }, { - "path": ".git/refs/heads/autosynth" + "path": "node_modules/espower-loader/package.json" }, { - "path": ".git/refs/heads/master" + "path": "node_modules/object.getownpropertydescriptors/package.json" }, { - "path": ".git/refs/remotes/origin/HEAD" + "path": "node_modules/yargs/package.json" }, { - "path": ".git/objects/pack/pack-85e1173357011b965d4e44a061aac18f7620dfcd.pack" + "path": "node_modules/ci-info/package.json" }, { - "path": ".git/objects/pack/pack-85e1173357011b965d4e44a061aac18f7620dfcd.idx" + "path": "node_modules/color-convert/package.json" }, { - "path": ".git/logs/HEAD" + "path": "node_modules/write-file-atomic/package.json" }, { - "path": ".git/logs/refs/heads/autosynth" + "path": "node_modules/eslint-visitor-keys/package.json" }, { - "path": ".git/logs/refs/heads/master" + "path": "node_modules/agent-base/package.json" }, { - "path": ".git/logs/refs/remotes/origin/HEAD" + "path": "node_modules/flat/package.json" }, { - "path": ".kokoro/samples-test.sh" + "path": "node_modules/through2/package.json" }, { - "path": ".kokoro/test.sh" + "path": "node_modules/gaxios/package.json" }, { - "path": ".kokoro/test.bat" + "path": "node_modules/p-queue/package.json" }, { - "path": ".kokoro/trampoline.sh" + "path": "node_modules/encodeurl/package.json" }, { - "path": ".kokoro/.gitattributes" + "path": "node_modules/js-tokens/package.json" }, { - "path": ".kokoro/publish.sh" + "path": "node_modules/strip-json-comments/package.json" }, { - "path": ".kokoro/lint.sh" + "path": "node_modules/eslint-config-prettier/package.json" }, { - "path": ".kokoro/pre-samples-test.sh" + "path": "node_modules/uri-js/package.json" }, { - "path": ".kokoro/docs.sh" + "path": "node_modules/test-exclude/package.json" }, { - "path": ".kokoro/common.cfg" + "path": "node_modules/safer-buffer/package.json" }, { - "path": ".kokoro/system-test.sh" + "path": "node_modules/prettier/package.json" }, { - "path": ".kokoro/continuous/node10/lint.cfg" + "path": "node_modules/regexp.prototype.flags/package.json" }, { - "path": ".kokoro/continuous/node10/samples-test.cfg" + "path": "node_modules/yargs-parser/package.json" }, { - "path": ".kokoro/continuous/node10/system-test.cfg" + "path": "node_modules/@babel/code-frame/package.json" }, { - "path": ".kokoro/continuous/node10/common.cfg" + "path": "node_modules/@babel/highlight/package.json" }, { - "path": ".kokoro/continuous/node10/test.cfg" + "path": "node_modules/@babel/parser/package.json" }, { - "path": ".kokoro/continuous/node10/docs.cfg" + "path": "node_modules/configstore/package.json" }, { - "path": ".kokoro/continuous/node8/common.cfg" + "path": "node_modules/is-plain-obj/package.json" }, { - "path": ".kokoro/continuous/node8/test.cfg" + "path": "node_modules/eastasianwidth/package.json" }, { - "path": ".kokoro/continuous/node12/common.cfg" + "path": "node_modules/has-yarn/package.json" }, { - "path": ".kokoro/continuous/node12/test.cfg" + "path": "node_modules/core-js/package.json" }, { - "path": ".kokoro/release/publish.cfg" + "path": "samples/analyze-streaming-shot-change.js" }, { - "path": ".kokoro/release/docs.sh" + "path": "samples/analyze.v1p2beta1.js" }, { - "path": ".kokoro/release/docs.cfg" + "path": "samples/analyze.js" }, { - "path": ".kokoro/presubmit/windows/common.cfg" + "path": "samples/README.md" }, { - "path": ".kokoro/presubmit/windows/test.cfg" + "path": "samples/analyze-streaming-labels.js" }, { - "path": ".kokoro/presubmit/node10/lint.cfg" + "path": "samples/analyze-streaming-safe-search.js" }, { - "path": ".kokoro/presubmit/node10/samples-test.cfg" + "path": "samples/package.json" }, { - "path": ".kokoro/presubmit/node10/system-test.cfg" + "path": "samples/quickstart.js" }, { - "path": ".kokoro/presubmit/node10/common.cfg" + "path": "samples/.eslintrc.yml" }, { - "path": ".kokoro/presubmit/node10/test.cfg" + "path": "samples/analyze-streaming-object.js" }, { - "path": ".kokoro/presubmit/node10/docs.cfg" + "path": "samples/analyze-streaming-automl-classification.js" }, { - "path": ".kokoro/presubmit/node8/common.cfg" + "path": "samples/analyze-streaming-annotation-to-storage.js" }, { - "path": ".kokoro/presubmit/node8/test.cfg" + "path": "samples/system-test/analyze.test.js" }, { - "path": ".kokoro/presubmit/node12/common.cfg" + "path": "samples/system-test/analyze.v1p2beta1.test.js" }, { - "path": ".kokoro/presubmit/node12/test.cfg" + "path": "samples/system-test/analyze-streaming-shot-change.test.js" }, { - "path": "smoke-test/.eslintrc.yml" + "path": "samples/system-test/analyze-streaming-labels.test.js" }, { - "path": "smoke-test/video_intelligence_service_smoke_test.js" + "path": "samples/system-test/analyze-streaming-safe-search.test.js" }, { - "path": "system-test/.eslintrc.yml" + "path": "samples/system-test/analyze-streaming-object.test.js" }, { - "path": "system-test/video_intelligence_service_smoke_test.js" + "path": "samples/system-test/analyze-streaming-automl-classification.test.js" }, { - "path": "test/gapic-v1beta2.js" + "path": "samples/system-test/quickstart.test.js" }, { - "path": "test/mocha.opts" + "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" }, { - "path": "test/.eslintrc.yml" + "path": "samples/resources/cat.mp4" }, { - "path": "test/gapic-v1.js" + "path": "samples/resources/googlework_short.mp4" }, { - "path": "test/gapic-v1p1beta1.js" + "path": "__pycache__/synth.cpython-36.pyc" }, { - "path": "test/gapic-v1p3beta1.js" + "path": "smoke-test/video_intelligence_service_smoke_test.js" }, { - "path": "test/gapic-v1p2beta1.js" + "path": "smoke-test/.eslintrc.yml" } ] } \ No newline at end of file From 978477a8eeb2e468480a6623f572af5aa22aac3c Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Sun, 5 Jan 2020 00:16:45 -0800 Subject: [PATCH 238/418] fix: no need to have smoke test here --- .../smoke-test/.eslintrc.yml | 3 --- .../video_intelligence_service_smoke_test.js | 21 ------------------- .../google-cloud-videointelligence/synth.py | 2 +- 3 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml delete mode 100644 packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js diff --git a/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml b/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml deleted file mode 100644 index 3bc357436b8..00000000000 --- a/packages/google-cloud-videointelligence/smoke-test/.eslintrc.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -rules: - no-undef: off diff --git a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js deleted file mode 100644 index 97e8d9d2953..00000000000 --- a/packages/google-cloud-videointelligence/smoke-test/video_intelligence_service_smoke_test.js +++ /dev/null @@ -1,21 +0,0 @@ -// 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 {describe} = require('mocha'); - -describe('VideoIntelligenceServiceSmokeTest', () => { - LongRunningOptionalArrayMethod$; -}); diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 9f4b13c7324..949058bdda0 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -19,7 +19,7 @@ ) # skip index, protos, package.json, and README.md - s.copy(library, excludes=["package.json", "README.md", "src/index.js"]) + s.copy(library, excludes=["package.json", "README.md", "src/index.js", "smoke-test/video_intelligence_service_smoke_test.js"]) # # Generator emitted unused helper mockSimpleGrpcMethod, add a temporary From 9534d8dbceec4be2dcaa53acd0fb91de05b6111b Mon Sep 17 00:00:00 2001 From: Vishwajeet Vatharkar Date: Mon, 6 Jan 2020 03:34:03 +0530 Subject: [PATCH 239/418] docs: removed typo "API API" --- packages/google-cloud-videointelligence/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 3604e029354..c7a51f515d7 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -41,7 +41,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. 1. [Select or create a Cloud Platform project][projects]. 1. [Enable billing for your project][billing]. -1. [Enable the Google Cloud Video Intelligence API API][enable_api]. +1. [Enable the Google Cloud Video Intelligence API][enable_api]. 1. [Set up authentication with a service account][auth] so you can access the API from your local workstation. From 6ffef9d926747d7530a413516eb230be940383a9 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 6 Jan 2020 07:59:56 -0800 Subject: [PATCH 240/418] chore: remove extra API from pretty name (#349) It seems like this is the right place to do #346, otherwise, `synthtool` comes and suggests to put it back (#348). --- packages/google-cloud-videointelligence/.repo-metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 939236612b3..7cb1244704d 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -1,6 +1,6 @@ { "name": "video", - "name_pretty": "Google Cloud Video Intelligence API", + "name_pretty": "Google Cloud Video Intelligence", "product_documentation": "https://cloud.google.com/video-intelligence", "client_documentation": "https://googleapis.dev/nodejs/video/latest", "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", @@ -10,4 +10,4 @@ "distribution_name": "@google-cloud/video-intelligence", "api_id": "videointelligence.googleapis.com", "requires_billing": true -} \ No newline at end of file +} From 42fa73b693c750c0ec9d720559522432f2087b28 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 6 Jan 2020 10:48:52 -0800 Subject: [PATCH 241/418] chore: release 2.6.4 (#345) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 7bbf5e1d0b6..d6bc90c9f64 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.6.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.3...v2.6.4) (2020-01-06) + + +### Bug Fixes + +* no need to have smoke test here ([4922079](https://www.github.com/googleapis/nodejs-video-intelligence/commit/49220790cd78a3079efbb0705472dd52f59f04ff)) + ### [2.6.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.2...v2.6.3) (2019-12-05) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 8078c857069..967c4d23b7d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.3", + "version": "2.6.4", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 9431bb28510..e9e0013971e 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.3", + "@google-cloud/video-intelligence": "^2.6.4", "yargs": "^15.0.0" }, "devDependencies": { From d1bce65f31d2e23edc39318e99e28ea698a3cad9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 7 Jan 2020 00:05:40 +0200 Subject: [PATCH 242/418] chore(deps): update dependency mocha to v7 (#347) --- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 967c4d23b7d..6fc8426a3dd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -53,7 +53,7 @@ "jsdoc-fresh": "^1.0.1", "jsdoc-region-tag": "^1.0.2", "linkinator": "^1.5.0", - "mocha": "^6.1.4", + "mocha": "^7.0.0", "c8": "^7.0.0", "power-assert": "^1.6.1", "prettier": "^1.17.1" diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e9e0013971e..8af7516dbb2 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -20,6 +20,6 @@ }, "devDependencies": { "chai": "^4.2.0", - "mocha": "^6.0.0" + "mocha": "^7.0.0" } } From dcd8fff34ce39e3595e870e0f1b5f7634bc86ca8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 9 Jan 2020 09:05:03 -0800 Subject: [PATCH 243/418] docs: updated auto-generated README --- .../google-cloud-videointelligence/README.md | 8 +- .../samples/README.md | 2 +- .../synth.metadata | 1555 +++++++++-------- 3 files changed, 793 insertions(+), 772 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index c7a51f515d7..ca6787cc4f7 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Video Intelligence API: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) +# [Google Cloud Video Intelligence: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) [![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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) @@ -14,8 +14,8 @@ Google Cloud Video Intelligence API client for Node.js -* [Google Cloud Video Intelligence API Node.js Client API Reference][client-docs] -* [Google Cloud Video Intelligence API Documentation][product-docs] +* [Google Cloud Video Intelligence Node.js Client API Reference][client-docs] +* [Google Cloud Video Intelligence Documentation][product-docs] * [github.com/googleapis/nodejs-video-intelligence](https://github.com/googleapis/nodejs-video-intelligence) Read more about the client libraries for Cloud APIs, including the older @@ -134,7 +134,7 @@ has instructions for running the samples. -The [Google Cloud Video Intelligence API Node.js Client API Reference][client-docs] documentation +The [Google Cloud Video Intelligence Node.js Client API Reference][client-docs] documentation also contains samples. ## Versioning diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 1bbf90056d5..91b349c34f1 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Video Intelligence API: Node.js Samples](https://github.com/googleapis/nodejs-video-intelligence) +# [Google Cloud Video Intelligence: Node.js Samples](https://github.com/googleapis/nodejs-video-intelligence) [![Open in Cloud Shell][shell_img]][shell_link] diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index d996dbdaa53..cfee086d222 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2020-01-03T12:25:34.186761Z", + "updateTime": "2020-01-07T12:34:53.056214Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4d45a6399e9444fbddaeb1c86aabfde210723714", - "internalRef": "287908369" + "sha": "cb79155f596e0396dd900da93872be7066f6340d", + "internalRef": "288441307" } }, { @@ -78,2239 +78,2272 @@ ], "newFiles": [ { - "path": "synth.metadata" - }, - { - "path": ".repo-metadata.json" + "path": "codecov.yaml" }, { - "path": "CONTRIBUTING.md" + "path": "CHANGELOG.md" }, { - "path": "linkinator.config.json" + "path": "renovate.json" }, { "path": ".prettierignore" }, { - "path": ".jsdoc.js" + "path": ".nycrc" }, { - "path": ".gitignore" + "path": "synth.py" }, { - "path": "synth.py" + "path": ".eslintignore" }, { - "path": "CODE_OF_CONDUCT.md" + "path": ".repo-metadata.json" }, { - "path": "README.md" + "path": "linkinator.config.json" }, { - "path": "package-lock.json" + "path": ".eslintrc.yml" }, { - "path": ".prettierrc" + "path": ".jsdoc.js" }, { - "path": "codecov.yaml" + "path": "synth.metadata" }, { - "path": ".nycrc" + "path": "package-lock.json" }, { - "path": "package.json" + "path": "LICENSE" }, { "path": "webpack.config.js" }, { - "path": ".eslintrc.yml" + "path": "CODE_OF_CONDUCT.md" }, { - "path": "renovate.json" + "path": "CONTRIBUTING.md" }, { - "path": "LICENSE" + "path": ".prettierrc" }, { - "path": "CHANGELOG.md" + "path": "package.json" }, { - "path": ".eslintignore" + "path": ".gitignore" }, { - "path": ".github/PULL_REQUEST_TEMPLATE.md" + "path": "README.md" }, { - "path": ".github/release-please.yml" + "path": "system-test/.eslintrc.yml" }, { - "path": ".github/ISSUE_TEMPLATE/support_request.md" + "path": "system-test/video_intelligence_service_smoke_test.js" }, { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" + "path": "node_modules/eslint-visitor-keys/package.json" }, { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" + "path": "node_modules/optionator/package.json" }, { - "path": ".kokoro/samples-test.sh" + "path": "node_modules/to-regex-range/package.json" }, { - "path": ".kokoro/system-test.sh" + "path": "node_modules/defer-to-connect/package.json" }, { - "path": ".kokoro/docs.sh" + "path": "node_modules/yargs/package.json" }, { - "path": ".kokoro/lint.sh" + "path": "node_modules/dom-serializer/package.json" }, { - "path": ".kokoro/.gitattributes" + "path": "node_modules/emoji-regex/package.json" }, { - "path": ".kokoro/pre-samples-test.sh" + "path": "node_modules/source-map-support/package.json" }, { - "path": ".kokoro/publish.sh" + "path": "node_modules/source-map-support/node_modules/source-map/package.json" }, { - "path": ".kokoro/trampoline.sh" + "path": "node_modules/normalize-package-data/package.json" }, { - "path": ".kokoro/common.cfg" + "path": "node_modules/normalize-package-data/node_modules/semver/package.json" }, { - "path": ".kokoro/test.bat" + "path": "node_modules/mdurl/package.json" }, { - "path": ".kokoro/test.sh" + "path": "node_modules/uc.micro/package.json" }, { - "path": ".kokoro/release/docs.sh" + "path": "node_modules/through2/package.json" }, { - "path": ".kokoro/release/docs.cfg" + "path": "node_modules/make-dir/package.json" }, { - "path": ".kokoro/release/publish.cfg" + "path": "node_modules/make-dir/node_modules/semver/package.json" }, { - "path": ".kokoro/presubmit/node12/test.cfg" + "path": "node_modules/package-json/package.json" }, { - "path": ".kokoro/presubmit/node12/common.cfg" + "path": "node_modules/package-json/node_modules/semver/package.json" }, { - "path": ".kokoro/presubmit/node8/test.cfg" + "path": "node_modules/redent/package.json" }, { - "path": ".kokoro/presubmit/node8/common.cfg" + "path": "node_modules/which-module/package.json" }, { - "path": ".kokoro/presubmit/windows/test.cfg" + "path": "node_modules/es6-symbol/package.json" }, { - "path": ".kokoro/presubmit/windows/common.cfg" + "path": "node_modules/eslint-plugin-node/package.json" }, { - "path": ".kokoro/presubmit/node10/lint.cfg" + "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" }, { - "path": ".kokoro/presubmit/node10/system-test.cfg" + "path": "node_modules/eslint-plugin-node/node_modules/semver/package.json" }, { - "path": ".kokoro/presubmit/node10/test.cfg" + "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" }, { - "path": ".kokoro/presubmit/node10/docs.cfg" + "path": "node_modules/keyv/package.json" }, { - "path": ".kokoro/presubmit/node10/common.cfg" + "path": "node_modules/hard-rejection/package.json" }, { - "path": ".kokoro/presubmit/node10/samples-test.cfg" + "path": "node_modules/typedarray-to-buffer/.airtap.yml" }, { - "path": ".kokoro/continuous/node12/test.cfg" + "path": "node_modules/typedarray-to-buffer/index.js" }, { - "path": ".kokoro/continuous/node12/common.cfg" + "path": "node_modules/typedarray-to-buffer/LICENSE" }, { - "path": ".kokoro/continuous/node8/test.cfg" + "path": "node_modules/typedarray-to-buffer/.travis.yml" }, { - "path": ".kokoro/continuous/node8/common.cfg" + "path": "node_modules/typedarray-to-buffer/package.json" }, { - "path": ".kokoro/continuous/node10/lint.cfg" + "path": "node_modules/typedarray-to-buffer/README.md" }, { - "path": ".kokoro/continuous/node10/system-test.cfg" + "path": "node_modules/typedarray-to-buffer/test/basic.js" }, { - "path": ".kokoro/continuous/node10/test.cfg" + "path": "node_modules/registry-url/package.json" }, { - "path": ".kokoro/continuous/node10/docs.cfg" + "path": "node_modules/wrappy/package.json" }, { - "path": ".kokoro/continuous/node10/common.cfg" + "path": "node_modules/is-installed-globally/package.json" }, { - "path": ".kokoro/continuous/node10/samples-test.cfg" + "path": "node_modules/destroy/package.json" }, { - "path": "test/gapic-v1p1beta1.js" + "path": "node_modules/power-assert-renderer-base/package.json" }, { - "path": "test/gapic-v1p3beta1.js" + "path": "node_modules/domhandler/package.json" }, { - "path": "test/gapic-v1beta2.js" + "path": "node_modules/mkdirp/package.json" }, { - "path": "test/gapic-v1.js" + "path": "node_modules/@protobufjs/float/package.json" }, { - "path": "test/mocha.opts" + "path": "node_modules/@protobufjs/base64/package.json" }, { - "path": "test/gapic-v1p2beta1.js" + "path": "node_modules/@protobufjs/fetch/package.json" }, { - "path": "test/.eslintrc.yml" + "path": "node_modules/@protobufjs/utf8/package.json" }, { - "path": "system-test/video_intelligence_service_smoke_test.js" + "path": "node_modules/@protobufjs/pool/package.json" }, { - "path": "system-test/.eslintrc.yml" + "path": "node_modules/@protobufjs/aspromise/package.json" }, { - "path": "protos/protos.d.ts" + "path": "node_modules/@protobufjs/eventemitter/package.json" }, { - "path": "protos/protos.js" + "path": "node_modules/@protobufjs/inquire/package.json" }, { - "path": "protos/protos.json" + "path": "node_modules/@protobufjs/path/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" + "path": "node_modules/@protobufjs/codegen/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" + "path": "node_modules/fast-deep-equal/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" + "path": "node_modules/y18n/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" + "path": "node_modules/send/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" + "path": "node_modules/send/node_modules/mime/package.json" }, { - "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" + "path": "node_modules/send/node_modules/ms/package.json" }, { - "path": ".git/shallow" + "path": "node_modules/send/node_modules/debug/package.json" }, { - "path": ".git/HEAD" + "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" }, { - "path": ".git/config" + "path": "node_modules/is-promise/package.json" }, { - "path": ".git/packed-refs" + "path": "node_modules/is-url/package.json" }, { - "path": ".git/index" + "path": "node_modules/resolve-from/package.json" }, { - "path": ".git/objects/pack/pack-fa06cf268a96928cefe632cba82173ce81368de2.idx" + "path": "node_modules/estraverse/package.json" }, { - "path": ".git/objects/pack/pack-fa06cf268a96928cefe632cba82173ce81368de2.pack" + "path": "node_modules/rimraf/package.json" }, { - "path": ".git/logs/HEAD" + "path": "node_modules/supports-color/package.json" }, { - "path": ".git/logs/refs/heads/master" + "path": "node_modules/external-editor/package.json" }, { - "path": ".git/logs/refs/heads/autosynth" + "path": "node_modules/ignore-walk/package.json" }, { - "path": ".git/logs/refs/remotes/origin/HEAD" + "path": "node_modules/os-tmpdir/package.json" }, { - "path": ".git/refs/heads/master" + "path": "node_modules/escape-string-regexp/package.json" }, { - "path": ".git/refs/heads/autosynth" + "path": "node_modules/camelcase-keys/package.json" }, { - "path": ".git/refs/remotes/origin/HEAD" + "path": "node_modules/string_decoder/package.json" }, { - "path": "src/index.js" + "path": "node_modules/is-number/package.json" }, { - "path": "src/browser.js" + "path": "node_modules/log-symbols/package.json" }, { - "path": "src/v1p2beta1/index.js" + "path": "node_modules/pump/package.json" }, { - "path": "src/v1p2beta1/video_intelligence_service_client_config.json" + "path": "node_modules/base64-js/package.json" }, { - "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" + "path": "node_modules/p-try/package.json" }, { - "path": "src/v1p2beta1/video_intelligence_service_client.js" + "path": "node_modules/flat/package.json" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" + "path": "node_modules/json-schema-traverse/package.json" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + "path": "node_modules/color-name/package.json" }, { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + "path": "node_modules/fill-range/package.json" }, { - "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" + "path": "node_modules/convert-source-map/package.json" }, { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + "path": "node_modules/escape-html/package.json" }, { - "path": "src/v1beta2/index.js" + "path": "node_modules/require-main-filename/package.json" }, { - "path": "src/v1beta2/video_intelligence_service_client_config.json" + "path": "node_modules/es-to-primitive/package.json" }, { - "path": "src/v1beta2/video_intelligence_service_proto_list.json" + "path": "node_modules/decamelize-keys/package.json" }, { - "path": "src/v1beta2/video_intelligence_service_client.js" + "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" }, { - "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" + "path": "node_modules/string-width/package.json" }, { - "path": "src/v1beta2/doc/google/protobuf/doc_any.js" + "path": "node_modules/type/package.json" }, { - "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" + "path": "node_modules/isexe/package.json" }, { - "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" + "path": "node_modules/underscore/package.json" }, { - "path": "src/v1beta2/doc/google/rpc/doc_status.js" + "path": "node_modules/lines-and-columns/package.json" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" + "path": "node_modules/event-emitter/package.json" }, { - "path": "src/v1p3beta1/index.js" + "path": "node_modules/isarray/package.json" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" + "path": "node_modules/deep-equal/package.json" }, { - "path": "src/v1p3beta1/video_intelligence_service_client_config.json" + "path": "node_modules/@types/normalize-package-data/package.json" }, { - "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" + "path": "node_modules/@types/color-name/package.json" }, { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" + "path": "node_modules/@types/minimist/package.json" }, { - "path": "src/v1p3beta1/video_intelligence_service_client.js" + "path": "node_modules/@types/istanbul-lib-coverage/package.json" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" + "path": "node_modules/@types/node/package.json" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + "path": "node_modules/@types/is-windows/package.json" }, { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + "path": "node_modules/@types/long/package.json" }, { - "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" + "path": "node_modules/@types/fs-extra/package.json" }, { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + "path": "node_modules/word-wrap/package.json" }, { - "path": "src/v1p1beta1/index.js" + "path": "node_modules/fast-levenshtein/package.json" }, { - "path": "src/v1p1beta1/video_intelligence_service_client_config.json" + "path": "node_modules/minimist/package.json" }, { - "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" + "path": "node_modules/istanbul-lib-report/package.json" }, { - "path": "src/v1p1beta1/video_intelligence_service_client.js" + "path": "node_modules/json-buffer/package.json" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" + "path": "node_modules/cli-width/package.json" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + "path": "node_modules/validate-npm-package-license/package.json" }, { - "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" + "path": "node_modules/minimist-options/package.json" }, { - "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" + "path": "node_modules/minimist-options/node_modules/arrify/package.json" }, { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + "path": "node_modules/camelcase/package.json" }, { - "path": "src/v1/index.js" + "path": "node_modules/astral-regex/package.json" }, { - "path": "src/v1/video_intelligence_service_client_config.json" + "path": "node_modules/read-pkg/package.json" }, { - "path": "src/v1/video_intelligence_service_proto_list.json" + "path": "node_modules/read-pkg/node_modules/type-fest/package.json" }, { - "path": "src/v1/video_intelligence_service_client.js" + "path": "node_modules/serve-static/package.json" }, { - "path": "src/v1/doc/google/protobuf/doc_duration.js" + "path": "node_modules/ignore/package.json" }, { - "path": "src/v1/doc/google/protobuf/doc_any.js" + "path": "node_modules/acorn/package.json" }, { - "path": "src/v1/doc/google/longrunning/doc_operations.js" + "path": "node_modules/arrify/package.json" }, { - "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" + "path": "node_modules/node-forge/package.json" }, { - "path": "src/v1/doc/google/rpc/doc_status.js" + "path": "node_modules/call-matcher/package.json" }, { - "path": "node_modules/progress/package.json" + "path": "node_modules/got/package.json" }, { - "path": "node_modules/is-ci/package.json" + "path": "node_modules/get-stream/package.json" }, { - "path": "node_modules/lru-cache/package.json" + "path": "node_modules/growl/package.json" }, { - "path": "node_modules/destroy/package.json" + "path": "node_modules/tmp/package.json" }, { - "path": "node_modules/power-assert-context-formatter/package.json" + "path": "node_modules/range-parser/package.json" }, { - "path": "node_modules/fast-json-stable-stringify/package.json" + "path": "node_modules/balanced-match/package.json" }, { - "path": "node_modules/nice-try/package.json" + "path": "node_modules/array-filter/package.json" }, { - "path": "node_modules/which-module/package.json" + "path": "node_modules/esquery/package.json" }, { - "path": "node_modules/array-find/package.json" + "path": "node_modules/cross-spawn/package.json" }, { - "path": "node_modules/catharsis/package.json" + "path": "node_modules/locate-path/package.json" }, { - "path": "node_modules/is-promise/package.json" + "path": "node_modules/@istanbuljs/schema/package.json" }, { - "path": "node_modules/v8-compile-cache/package.json" + "path": "node_modules/jsdoc/package.json" }, { - "path": "node_modules/doctrine/package.json" + "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/callsites/package.json" + "path": "node_modules/core-js/package.json" }, { - "path": "node_modules/diff/package.json" + "path": "node_modules/prettier/package.json" }, { - "path": "node_modules/hosted-git-info/package.json" + "path": "node_modules/extend/package.json" }, { - "path": "node_modules/color-name/package.json" + "path": "node_modules/function-bind/package.json" }, { - "path": "node_modules/defer-to-connect/package.json" + "path": "node_modules/domutils/package.json" }, { - "path": "node_modules/unpipe/package.json" + "path": "node_modules/prelude-ls/package.json" }, { - "path": "node_modules/emoji-regex/package.json" + "path": "node_modules/he/package.json" }, { - "path": "node_modules/http-errors/package.json" + "path": "node_modules/brace-expansion/package.json" }, { - "path": "node_modules/eventemitter3/package.json" + "path": "node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/esutils/package.json" + "path": "node_modules/spdx-exceptions/package.json" }, { - "path": "node_modules/he/package.json" + "path": "node_modules/power-assert-context-traversal/package.json" }, { - "path": "node_modules/on-finished/package.json" + "path": "node_modules/is-typedarray/package.json" }, { - "path": "node_modules/linkinator/package.json" + "path": "node_modules/binary-extensions/package.json" }, { - "path": "node_modules/linkinator/node_modules/chalk/package.json" + "path": "node_modules/has-flag/package.json" }, { - "path": "node_modules/update-notifier/package.json" + "path": "node_modules/iconv-lite/package.json" }, { - "path": "node_modules/update-notifier/node_modules/chalk/package.json" + "path": "node_modules/jwa/package.json" }, { - "path": "node_modules/p-cancelable/package.json" + "path": "node_modules/fresh/package.json" }, { - "path": "node_modules/markdown-it/package.json" + "path": "node_modules/is-path-inside/package.json" }, { - "path": "node_modules/dot-prop/package.json" + "path": "node_modules/is-glob/package.json" }, { - "path": "node_modules/require-main-filename/package.json" + "path": "node_modules/linkify-it/package.json" }, { - "path": "node_modules/fast-diff/package.json" + "path": "node_modules/parent-module/package.json" }, { - "path": "node_modules/lodash.camelcase/package.json" + "path": "node_modules/ee-first/package.json" }, { - "path": "node_modules/redent/package.json" + "path": "node_modules/glob-parent/package.json" }, { - "path": "node_modules/resolve/package.json" + "path": "node_modules/get-stdin/package.json" }, { - "path": "node_modules/globals/package.json" + "path": "node_modules/is-buffer/package.json" }, { - "path": "node_modules/range-parser/package.json" + "path": "node_modules/htmlparser2/package.json" }, { - "path": "node_modules/string.prototype.trimright/package.json" + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" }, { - "path": "node_modules/inflight/package.json" + "path": "node_modules/prettier-linter-helpers/package.json" }, { - "path": "node_modules/debug/package.json" + "path": "node_modules/duplexify/package.json" }, { - "path": "node_modules/htmlparser2/package.json" + "path": "node_modules/get-caller-file/package.json" }, { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + "path": "node_modules/decamelize/package.json" }, { - "path": "node_modules/semver-diff/package.json" + "path": "node_modules/marked/package.json" }, { - "path": "node_modules/semver-diff/node_modules/semver/package.json" + "path": "node_modules/diff/package.json" }, { - "path": "node_modules/multi-stage-sourcemap/package.json" + "path": "node_modules/object.assign/package.json" }, { - "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" + "path": "node_modules/power-assert-util-string-width/package.json" }, { - "path": "node_modules/ms/package.json" + "path": "node_modules/flat-cache/package.json" }, { - "path": "node_modules/linkify-it/package.json" + "path": "node_modules/flat-cache/node_modules/rimraf/package.json" }, { - "path": "node_modules/through/package.json" + "path": "node_modules/once/package.json" }, { - "path": "node_modules/power-assert-renderer-file/package.json" + "path": "node_modules/is-arguments/package.json" }, { - "path": "node_modules/string-width/package.json" + "path": "node_modules/which/package.json" }, { - "path": "node_modules/html-escaper/package.json" + "path": "node_modules/is-symbol/package.json" }, { - "path": "node_modules/type/package.json" + "path": "node_modules/ajv/package.json" }, { - "path": "node_modules/type-fest/package.json" + "path": "node_modules/clone-response/package.json" }, { - "path": "node_modules/intelli-espower-loader/package.json" + "path": "node_modules/power-assert-renderer-comparison/package.json" + }, + { + "path": "node_modules/doctrine/package.json" + }, + { + "path": "node_modules/is-callable/package.json" }, { "path": "node_modules/parseurl/package.json" }, { - "path": "node_modules/google-p12-pem/package.json" + "path": "node_modules/espower-loader/package.json" }, { - "path": "node_modules/get-caller-file/package.json" + "path": "node_modules/is-obj/package.json" }, { - "path": "node_modules/klaw/package.json" + "path": "node_modules/file-entry-cache/package.json" }, { - "path": "node_modules/map-obj/package.json" + "path": "node_modules/d/package.json" }, { - "path": "node_modules/node-fetch/package.json" + "path": "node_modules/responselike/package.json" }, { - "path": "node_modules/jsonexport/package.json" + "path": "node_modules/ansi-colors/package.json" }, { - "path": "node_modules/isexe/package.json" + "path": "node_modules/has-yarn/package.json" }, { - "path": "node_modules/escallmatch/package.json" + "path": "node_modules/linkinator/package.json" }, { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" + "path": "node_modules/linkinator/node_modules/chalk/package.json" }, { - "path": "node_modules/espower/package.json" + "path": "node_modules/ext/package.json" }, { - "path": "node_modules/espower/node_modules/source-map/package.json" + "path": "node_modules/ext/node_modules/type/package.json" }, { - "path": "node_modules/run-async/package.json" + "path": "node_modules/jws/package.json" }, { - "path": "node_modules/validate-npm-package-license/package.json" + "path": "node_modules/p-finally/package.json" }, { - "path": "node_modules/file-entry-cache/package.json" + "path": "node_modules/json-parse-better-errors/package.json" }, { - "path": "node_modules/meow/package.json" + "path": "node_modules/is-stream-ended/package.json" }, { - "path": "node_modules/concat-map/package.json" + "path": "node_modules/anymatch/package.json" }, { - "path": "node_modules/term-size/package.json" + "path": "node_modules/set-blocking/package.json" }, { - "path": "node_modules/xmlcreate/package.json" + "path": "node_modules/yargs-parser/package.json" }, { - "path": "node_modules/ansi-regex/package.json" + "path": "node_modules/regexp.prototype.flags/package.json" }, { - "path": "node_modules/yallist/package.json" + "path": "node_modules/sprintf-js/package.json" }, { - "path": "node_modules/json-bigint/package.json" + "path": "node_modules/boolbase/package.json" }, { - "path": "node_modules/resolve-from/package.json" + "path": "node_modules/string.prototype.trimright/package.json" }, { - "path": "node_modules/is-buffer/package.json" + "path": "node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/cliui/package.json" + "path": "node_modules/intelli-espower-loader/package.json" }, { - "path": "node_modules/toidentifier/package.json" + "path": "node_modules/espower-source/package.json" }, { - "path": "node_modules/balanced-match/package.json" + "path": "node_modules/espower-source/node_modules/acorn/package.json" }, { - "path": "node_modules/marked/package.json" + "path": "node_modules/ansi-regex/package.json" }, { - "path": "node_modules/wrappy/package.json" + "path": "node_modules/next-tick/package.json" }, { - "path": "node_modules/jsdoc-region-tag/package.json" + "path": "node_modules/is-date-object/package.json" }, { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" + "path": "node_modules/http-errors/package.json" }, { - "path": "node_modules/glob-parent/package.json" + "path": "node_modules/path-key/package.json" }, { - "path": "node_modules/xtend/package.json" + "path": "node_modules/ini/package.json" }, { - "path": "node_modules/is-arguments/package.json" + "path": "node_modules/json-bigint/package.json" }, { - "path": "node_modules/set-blocking/package.json" + "path": "node_modules/object.getownpropertydescriptors/package.json" }, { - "path": "node_modules/istanbul-lib-report/package.json" + "path": "node_modules/rxjs/package.json" }, { - "path": "node_modules/ansi-align/package.json" + "path": "node_modules/power-assert-renderer-file/package.json" }, { - "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" + "path": "node_modules/@grpc/proto-loader/package.json" }, { - "path": "node_modules/ansi-align/node_modules/string-width/package.json" + "path": "node_modules/@grpc/grpc-js/package.json" }, { - "path": "node_modules/ansi-align/node_modules/ansi-regex/package.json" + "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" }, { - "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" + "path": "node_modules/argparse/package.json" }, { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/has/package.json" }, { - "path": "node_modules/duplexer3/package.json" + "path": "node_modules/type-fest/package.json" }, { - "path": "node_modules/esprima/package.json" + "path": "node_modules/protobufjs/package.json" }, { - "path": "node_modules/is-stream-ended/package.json" + "path": "node_modules/protobufjs/cli/package-lock.json" }, { - "path": "node_modules/minimatch/package.json" + "path": "node_modules/protobufjs/cli/package.json" }, { - "path": "node_modules/crypto-random-string/package.json" + "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" }, { - "path": "node_modules/growl/package.json" + "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" }, { - "path": "node_modules/string.prototype.trimleft/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" }, { - "path": "node_modules/istanbul-lib-coverage/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/normalize-package-data/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" }, { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" + "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" }, { - "path": "node_modules/fast-text-encoding/package.json" + "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" }, { - "path": "node_modules/server-destroy/package.json" + "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" }, { - "path": "node_modules/prelude-ls/package.json" + "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" }, { - "path": "node_modules/d/package.json" + "path": "node_modules/gtoken/package.json" }, { - "path": "node_modules/protobufjs/package.json" + "path": "node_modules/uri-js/package.json" }, { - "path": "node_modules/protobufjs/cli/package-lock.json" + "path": "node_modules/min-indent/package.json" }, { - "path": "node_modules/protobufjs/cli/package.json" + "path": "node_modules/map-obj/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" + "path": "node_modules/fast-text-encoding/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" + "path": "node_modules/js-tokens/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" + "path": "node_modules/ansi-escapes/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" + "path": "node_modules/term-size/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" + "path": "node_modules/run-async/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" + "path": "node_modules/find-up/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" + "path": "node_modules/es6-promisify/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" + "path": "node_modules/wide-align/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" + "path": "node_modules/wide-align/node_modules/string-width/package.json" }, { - "path": "node_modules/domhandler/package.json" + "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/ansi-escapes/package.json" + "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/power-assert-renderer-base/package.json" + "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/boolbase/package.json" + "path": "node_modules/is-npm/package.json" }, { - "path": "node_modules/indent-string/package.json" + "path": "node_modules/cli-boxes/package.json" }, { - "path": "node_modules/lodash/package.json" + "path": "node_modules/mime/package.json" }, { - "path": "node_modules/taffydb/package.json" + "path": "node_modules/empower-assert/package.json" }, { - "path": "node_modules/extend/package.json" + "path": "node_modules/is-extglob/package.json" }, { - "path": "node_modules/is-yarn-global/package.json" + "path": "node_modules/yargs-unparser/package.json" }, { - "path": "node_modules/dom-serializer/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" }, { - "path": "node_modules/end-of-stream/package.json" + "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/log-symbols/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" }, { - "path": "node_modules/is-callable/package.json" + "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" }, { - "path": "node_modules/es5-ext/package.json" + "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" }, { - "path": "node_modules/stringifier/package.json" + "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/es6-weak-map/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/camelcase-keys/package.json" + "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" }, { - "path": "node_modules/decompress-response/package.json" + "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/js-yaml/package.json" + "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" }, { - "path": "node_modules/cli-boxes/package.json" + "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/is-obj/package.json" + "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" }, { - "path": "node_modules/is-typedarray/package.json" + "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" }, { - "path": "node_modules/registry-auth-token/package.json" + "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" }, { - "path": "node_modules/read-pkg-up/package.json" + "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/buffer-equal-constant-time/package.json" + "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/@bcoe/v8-coverage/package.json" + "path": "node_modules/deep-extend/package.json" + }, + { + "path": "node_modules/google-gax/package.json" }, { "path": "node_modules/eslint-scope/package.json" }, { - "path": "node_modules/stream-shift/package.json" + "path": "node_modules/ms/package.json" }, { - "path": "node_modules/is-extglob/package.json" + "path": "node_modules/parse5/package.json" }, { - "path": "node_modules/typedarray-to-buffer/index.js" + "path": "node_modules/indent-string/package.json" }, { - "path": "node_modules/typedarray-to-buffer/README.md" + "path": "node_modules/inherits/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.airtap.yml" + "path": "node_modules/js2xmlparser/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.travis.yml" + "path": "node_modules/css-select/package.json" }, { - "path": "node_modules/typedarray-to-buffer/package.json" + "path": "node_modules/codecov/package.json" }, { - "path": "node_modules/typedarray-to-buffer/LICENSE" + "path": "node_modules/trim-newlines/package.json" }, { - "path": "node_modules/typedarray-to-buffer/test/basic.js" + "path": "node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/restore-cursor/package.json" + "path": "node_modules/html-escaper/package.json" }, { - "path": "node_modules/mimic-response/package.json" + "path": "node_modules/json-stable-stringify-without-jsonify/package.json" }, { - "path": "node_modules/normalize-url/package.json" + "path": "node_modules/mocha/package.json" }, { - "path": "node_modules/fresh/package.json" + "path": "node_modules/mocha/node_modules/yargs/package.json" }, { - "path": "node_modules/imurmurhash/package.json" + "path": "node_modules/mocha/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/indexof/package.json" + "path": "node_modules/mocha/node_modules/supports-color/package.json" }, { - "path": "node_modules/codecov/package.json" + "path": "node_modules/mocha/node_modules/color-name/package.json" }, { - "path": "node_modules/ajv/package.json" + "path": "node_modules/mocha/node_modules/string-width/package.json" }, { - "path": "node_modules/is-path-inside/package.json" + "path": "node_modules/mocha/node_modules/locate-path/package.json" }, { - "path": "node_modules/import-lazy/package.json" + "path": "node_modules/mocha/node_modules/has-flag/package.json" }, { - "path": "node_modules/json-schema-traverse/package.json" + "path": "node_modules/mocha/node_modules/which/package.json" }, { - "path": "node_modules/rxjs/package.json" + "path": "node_modules/mocha/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/p-locate/package.json" + "path": "node_modules/mocha/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/figures/package.json" + "path": "node_modules/mocha/node_modules/find-up/package.json" }, { - "path": "node_modules/underscore/package.json" + "path": "node_modules/mocha/node_modules/ms/package.json" }, { - "path": "node_modules/finalhandler/package.json" + "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/finalhandler/node_modules/debug/package.json" + "path": "node_modules/mocha/node_modules/cliui/package.json" }, { - "path": "node_modules/finalhandler/node_modules/ms/package.json" + "path": "node_modules/mocha/node_modules/glob/package.json" }, { - "path": "node_modules/ignore/package.json" + "path": "node_modules/mocha/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/argv/package.json" + "path": "node_modules/mocha/node_modules/color-convert/package.json" }, { - "path": "node_modules/path-is-absolute/package.json" + "path": "node_modules/mocha/node_modules/p-locate/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/wrap-ansi/package.json" + }, + { + "path": "node_modules/mocha/node_modules/strip-ansi/package.json" }, { "path": "node_modules/graceful-fs/package.json" }, { - "path": "node_modules/google-gax/package.json" + "path": "node_modules/uuid/package.json" }, { - "path": "node_modules/onetime/package.json" + "path": "node_modules/entities/package.json" }, { - "path": "node_modules/path-key/package.json" + "path": "node_modules/universal-deep-strict-equal/package.json" }, { - "path": "node_modules/core-util-is/package.json" + "path": "node_modules/toidentifier/package.json" }, { - "path": "node_modules/array-filter/package.json" + "path": "node_modules/urlgrey/package.json" }, { - "path": "node_modules/prepend-http/package.json" + "path": "node_modules/write-file-atomic/package.json" }, { - "path": "node_modules/write/package.json" + "path": "node_modules/call-signature/package.json" }, { - "path": "node_modules/duplexify/package.json" + "path": "node_modules/ci-info/package.json" }, { - "path": "node_modules/camelcase/package.json" + "path": "node_modules/chalk/package.json" }, { - "path": "node_modules/error-ex/package.json" + "path": "node_modules/chalk/node_modules/supports-color/package.json" }, { - "path": "node_modules/empower-assert/package.json" + "path": "node_modules/chalk/node_modules/color-name/package.json" }, { - "path": "node_modules/boxen/package.json" + "path": "node_modules/chalk/node_modules/has-flag/package.json" }, { - "path": "node_modules/boxen/node_modules/chalk/package.json" + "path": "node_modules/chalk/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/node-environment-flags/package.json" + "path": "node_modules/chalk/node_modules/color-convert/package.json" }, { - "path": "node_modules/node-environment-flags/node_modules/semver/package.json" + "path": "node_modules/is-binary-path/package.json" }, { - "path": "node_modules/c8/package.json" + "path": "node_modules/cliui/package.json" }, { - "path": "node_modules/gcp-metadata/package.json" + "path": "node_modules/nice-try/package.json" }, { - "path": "node_modules/json-buffer/package.json" + "path": "node_modules/global-dirs/package.json" }, { - "path": "node_modules/mkdirp/package.json" + "path": "node_modules/import-lazy/package.json" }, { - "path": "node_modules/bluebird/package.json" + "path": "node_modules/depd/package.json" }, { - "path": "node_modules/shebang-command/package.json" + "path": "node_modules/path-is-absolute/package.json" }, { - "path": "node_modules/serve-static/package.json" + "path": "node_modules/object-keys/package.json" }, { - "path": "node_modules/path-parse/package.json" + "path": "node_modules/istanbul-reports/package.json" }, { - "path": "node_modules/mime/package.json" + "path": "node_modules/google-auth-library/package.json" }, { - "path": "node_modules/yargs-unparser/package.json" + "path": "node_modules/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" + "path": "node_modules/fast-json-stable-stringify/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" + "path": "node_modules/type-name/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" + "path": "node_modules/traverse/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" + "path": "node_modules/cheerio/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" + "path": "node_modules/power-assert-context-reducer-ast/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" + "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" + "path": "node_modules/minimatch/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" + "path": "node_modules/jsdoc-fresh/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" + "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/inquirer/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" + "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" + "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" + "path": "node_modules/indexof/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" + "path": "node_modules/through/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" + "path": "node_modules/restore-cursor/package.json" }, { - "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" + "path": "node_modules/esrecurse/package.json" }, { - "path": "node_modules/lines-and-columns/package.json" + "path": "node_modules/glob/package.json" }, { - "path": "node_modules/is-url/package.json" + "path": "node_modules/ansi-styles/package.json" }, { - "path": "node_modules/chalk/package.json" + "path": "node_modules/globals/package.json" }, { - "path": "node_modules/chalk/node_modules/color-name/package.json" + "path": "node_modules/gcp-metadata/package.json" }, { - "path": "node_modules/chalk/node_modules/has-flag/package.json" + "path": "node_modules/js-yaml/package.json" }, { - "path": "node_modules/chalk/node_modules/ansi-styles/package.json" + "path": "node_modules/xtend/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/css-what/package.json" + }, + { + "path": "node_modules/latest-version/package.json" }, { - "path": "node_modules/chalk/node_modules/supports-color/package.json" + "path": "node_modules/lodash.at/package.json" }, { - "path": "node_modules/chalk/node_modules/color-convert/package.json" + "path": "node_modules/is-stream/package.json" }, { - "path": "node_modules/locate-path/package.json" + "path": "node_modules/foreground-child/package.json" }, { - "path": "node_modules/spdx-expression-parse/package.json" + "path": "node_modules/power-assert/package.json" }, { - "path": "node_modules/power-assert-util-string-width/package.json" + "path": "node_modules/yallist/package.json" }, { - "path": "node_modules/esquery/package.json" + "path": "node_modules/spdx-license-ids/package.json" }, { - "path": "node_modules/to-readable-stream/package.json" + "path": "node_modules/etag/package.json" }, { - "path": "node_modules/jsdoc-fresh/package.json" + "path": "node_modules/duplexer3/package.json" }, { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" + "path": "node_modules/walkdir/package.json" }, { - "path": "node_modules/espower-location-detector/package.json" + "path": "node_modules/espurify/package.json" }, { - "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" + "path": "node_modules/path-parse/package.json" }, { - "path": "node_modules/strip-ansi/package.json" + "path": "node_modules/es6-map/package.json" }, { - "path": "node_modules/is-arrayish/package.json" + "path": "node_modules/punycode/package.json" }, { - "path": "node_modules/prettier-linter-helpers/package.json" + "path": "node_modules/jsdoc-region-tag/package.json" }, { - "path": "node_modules/chardet/package.json" + "path": "node_modules/url-parse-lax/package.json" }, { - "path": "node_modules/amdefine/package.json" + "path": "node_modules/on-finished/package.json" }, { - "path": "node_modules/http-cache-semantics/package.json" + "path": "node_modules/inflight/package.json" }, { - "path": "node_modules/has-flag/package.json" + "path": "node_modules/is-plain-obj/package.json" }, { - "path": "node_modules/cheerio/package.json" + "path": "node_modules/encodeurl/package.json" }, { - "path": "node_modules/domelementtype/package.json" + "path": "node_modules/readable-stream/package.json" }, { - "path": "node_modules/@szmarczak/http-timer/package.json" + "path": "node_modules/require-directory/package.json" }, { - "path": "node_modules/tmp/package.json" + "path": "node_modules/unpipe/package.json" }, { - "path": "node_modules/entities/package.json" + "path": "node_modules/nth-check/package.json" }, { - "path": "node_modules/argparse/package.json" + "path": "node_modules/@sindresorhus/is/package.json" }, { - "path": "node_modules/has/package.json" + "path": "node_modules/spdx-expression-parse/package.json" }, { - "path": "node_modules/ee-first/package.json" + "path": "node_modules/text-table/package.json" }, { - "path": "node_modules/object-inspect/package.json" + "path": "node_modules/color-convert/package.json" }, { - "path": "node_modules/deep-equal/package.json" + "path": "node_modules/markdown-it-anchor/package.json" }, { - "path": "node_modules/table/package.json" + "path": "node_modules/spdx-correct/package.json" }, { - "path": "node_modules/table/node_modules/emoji-regex/package.json" + "path": "node_modules/hosted-git-info/package.json" }, { - "path": "node_modules/table/node_modules/string-width/package.json" + "path": "node_modules/esutils/package.json" }, { - "path": "node_modules/table/node_modules/ansi-regex/package.json" + "path": "node_modules/agent-base/package.json" }, { - "path": "node_modules/table/node_modules/strip-ansi/package.json" + "path": "node_modules/configstore/package.json" }, { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/ansi-align/package.json" }, { - "path": "node_modules/spdx-correct/package.json" + "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/get-stream/package.json" + "path": "node_modules/ansi-align/node_modules/string-width/package.json" }, { - "path": "node_modules/power-assert/package.json" + "path": "node_modules/ansi-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/statuses/package.json" + "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/@istanbuljs/schema/package.json" + "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/es6-set/package.json" + "path": "node_modules/is-windows/package.json" }, { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" + "path": "node_modules/esprima/package.json" }, { - "path": "node_modules/istanbul-reports/package.json" + "path": "node_modules/semver/package.json" }, { - "path": "node_modules/@grpc/grpc-js/package.json" + "path": "node_modules/strip-indent/package.json" }, { - "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" + "path": "node_modules/eslint-utils/package.json" }, { - "path": "node_modules/@grpc/proto-loader/package.json" + "path": "node_modules/update-notifier/package.json" }, { - "path": "node_modules/lowercase-keys/package.json" + "path": "node_modules/update-notifier/node_modules/chalk/package.json" }, { - "path": "node_modules/etag/package.json" + "path": "node_modules/lru-cache/package.json" }, { - "path": "node_modules/y18n/package.json" + "path": "node_modules/domelementtype/package.json" }, { - "path": "node_modules/diff-match-patch/package.json" + "path": "node_modules/server-destroy/package.json" }, { - "path": "node_modules/es6-iterator/package.json" + "path": "node_modules/shebang-regex/package.json" }, { - "path": "node_modules/eslint-plugin-node/package.json" + "path": "node_modules/process-nextick-args/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" + "path": "node_modules/deep-is/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/semver/package.json" + "path": "node_modules/crypto-random-string/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" + "path": "node_modules/mute-stream/package.json" }, { - "path": "node_modules/natural-compare/package.json" + "path": "node_modules/registry-auth-token/package.json" }, { - "path": "node_modules/uuid/package.json" + "path": "node_modules/espower-location-detector/package.json" }, { - "path": "node_modules/event-target-shim/package.json" + "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" }, { - "path": "node_modules/arrify/package.json" + "path": "node_modules/flatted/package.json" }, { - "path": "node_modules/widest-line/package.json" + "path": "node_modules/has-symbols/package.json" }, { - "path": "node_modules/ignore-walk/package.json" + "path": "node_modules/klaw/package.json" }, { - "path": "node_modules/util-deprecate/package.json" + "path": "node_modules/meow/package.json" }, { - "path": "node_modules/function-bind/package.json" + "path": "node_modules/@szmarczak/http-timer/package.json" }, { - "path": "node_modules/object-is/package.json" + "path": "node_modules/is-yarn-global/package.json" }, { - "path": "node_modules/@types/color-name/package.json" + "path": "node_modules/lodash.camelcase/package.json" }, { - "path": "node_modules/@types/node/package.json" + "path": "node_modules/fs.realpath/package.json" }, { - "path": "node_modules/@types/istanbul-lib-coverage/package.json" + "path": "node_modules/progress/package.json" }, { - "path": "node_modules/@types/normalize-package-data/package.json" + "path": "node_modules/eastasianwidth/package.json" }, { - "path": "node_modules/@types/is-windows/package.json" + "path": "node_modules/string.prototype.trimleft/package.json" }, { - "path": "node_modules/@types/minimist/package.json" + "path": "node_modules/ecdsa-sig-formatter/package.json" }, { - "path": "node_modules/@types/fs-extra/package.json" + "path": "node_modules/buffer-equal-constant-time/package.json" }, { - "path": "node_modules/@types/long/package.json" + "path": "node_modules/dot-prop/package.json" }, { - "path": "node_modules/is-windows/package.json" + "path": "node_modules/http-cache-semantics/package.json" }, { - "path": "node_modules/levn/package.json" + "path": "node_modules/type-check/package.json" }, { - "path": "node_modules/global-dirs/package.json" + "path": "node_modules/es5-ext/package.json" }, { - "path": "node_modules/power-assert-renderer-diagram/package.json" + "path": "node_modules/readdirp/package.json" }, { - "path": "node_modules/is-stream/package.json" + "path": "node_modules/util-deprecate/package.json" }, { - "path": "node_modules/es6-symbol/package.json" + "path": "node_modules/bignumber.js/package.json" }, { - "path": "node_modules/parse-json/package.json" + "path": "node_modules/define-properties/package.json" }, { - "path": "node_modules/xdg-basedir/package.json" + "path": "node_modules/es6-iterator/package.json" }, { - "path": "node_modules/spdx-license-ids/package.json" + "path": "node_modules/taffydb/package.json" }, { - "path": "node_modules/google-auth-library/package.json" + "path": "node_modules/regexpp/package.json" }, { - "path": "node_modules/brace-expansion/package.json" + "path": "node_modules/statuses/package.json" }, { - "path": "node_modules/type-name/package.json" + "path": "node_modules/mimic-response/package.json" }, { - "path": "node_modules/define-properties/package.json" + "path": "node_modules/escope/package.json" }, { - "path": "node_modules/universal-deep-strict-equal/package.json" + "path": "node_modules/es6-promise/package.json" }, { - "path": "node_modules/jws/package.json" + "path": "node_modules/argv/package.json" }, { - "path": "node_modules/nth-check/package.json" + "path": "node_modules/p-timeout/package.json" }, { - "path": "node_modules/empower/package.json" + "path": "node_modules/power-assert-renderer-diagram/package.json" }, { - "path": "node_modules/send/package.json" + "path": "node_modules/mimic-fn/package.json" }, { - "path": "node_modules/send/node_modules/debug/package.json" + "path": "node_modules/p-locate/package.json" }, { - "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" + "path": "node_modules/chardet/package.json" }, { - "path": "node_modules/send/node_modules/ms/package.json" + "path": "node_modules/quick-lru/package.json" }, { - "path": "node_modules/send/node_modules/mime/package.json" + "path": "node_modules/browser-stdout/package.json" }, { - "path": "node_modules/require-directory/package.json" + "path": "node_modules/eslint-plugin-es/package.json" }, { - "path": "node_modules/object.assign/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/is-npm/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" }, { - "path": "node_modules/min-indent/package.json" + "path": "node_modules/v8-compile-cache/package.json" }, { - "path": "node_modules/functional-red-black-tree/package.json" + "path": "node_modules/rc/package.json" }, { - "path": "node_modules/read-pkg/package.json" + "path": "node_modules/rc/node_modules/minimist/package.json" }, { - "path": "node_modules/read-pkg/node_modules/type-fest/package.json" + "path": "node_modules/rc/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/registry-url/package.json" + "path": "node_modules/parse-json/package.json" }, { - "path": "node_modules/is-regex/package.json" + "path": "node_modules/abort-controller/package.json" }, { - "path": "node_modules/es-abstract/package.json" + "path": "node_modules/write/package.json" }, { - "path": "node_modules/parent-module/package.json" + "path": "node_modules/braces/package.json" }, { - "path": "node_modules/signal-exit/package.json" + "path": "node_modules/xmlcreate/package.json" }, { - "path": "node_modules/import-fresh/package.json" + "path": "node_modules/finalhandler/package.json" }, { - "path": "node_modules/keyv/package.json" + "path": "node_modules/finalhandler/node_modules/ms/package.json" }, { - "path": "node_modules/estraverse/package.json" + "path": "node_modules/finalhandler/node_modules/debug/package.json" }, { - "path": "node_modules/fast-deep-equal/package.json" + "path": "node_modules/eslint-config-prettier/package.json" }, { - "path": "node_modules/mute-stream/package.json" + "path": "node_modules/google-p12-pem/package.json" }, { - "path": "node_modules/power-assert-context-traversal/package.json" + "path": "node_modules/espree/package.json" }, { - "path": "node_modules/rimraf/package.json" + "path": "node_modules/requizzle/package.json" }, { - "path": "node_modules/is-installed-globally/package.json" + "path": "node_modules/imurmurhash/package.json" }, { - "path": "node_modules/get-stdin/package.json" + "path": "node_modules/catharsis/package.json" }, { - "path": "node_modules/make-dir/package.json" + "path": "node_modules/decompress-response/package.json" }, { - "path": "node_modules/make-dir/node_modules/semver/package.json" + "path": "node_modules/onetime/package.json" }, { - "path": "node_modules/es6-promise/package.json" + "path": "node_modules/empower-core/package.json" }, { - "path": "node_modules/os-tmpdir/package.json" + "path": "node_modules/error-ex/package.json" }, { - "path": "node_modules/retry-request/package.json" + "path": "node_modules/is-regex/package.json" }, { - "path": "node_modules/retry-request/node_modules/debug/package.json" + "path": "node_modules/escallmatch/package.json" }, { - "path": "node_modules/cli-cursor/package.json" + "path": "node_modules/escallmatch/node_modules/esprima/package.json" }, { - "path": "node_modules/ext/package.json" + "path": "node_modules/amdefine/package.json" }, { - "path": "node_modules/ext/node_modules/type/package.json" + "path": "node_modules/@babel/code-frame/package.json" }, { - "path": "node_modules/is-symbol/package.json" + "path": "node_modules/@babel/highlight/package.json" }, { - "path": "node_modules/css-what/package.json" + "path": "node_modules/@babel/parser/package.json" }, { - "path": "node_modules/punycode/package.json" + "path": "node_modules/functional-red-black-tree/package.json" }, { - "path": "node_modules/setprototypeof/package.json" + "path": "node_modules/path-exists/package.json" }, { - "path": "node_modules/word-wrap/package.json" + "path": "node_modules/callsites/package.json" }, { - "path": "node_modules/foreground-child/package.json" + "path": "node_modules/bluebird/package.json" }, { - "path": "node_modules/es6-map/package.json" + "path": "node_modules/p-limit/package.json" }, { - "path": "node_modules/call-signature/package.json" + "path": "node_modules/object-inspect/package.json" }, { - "path": "node_modules/package-json/package.json" + "path": "node_modules/node-fetch/package.json" }, { - "path": "node_modules/package-json/node_modules/semver/package.json" + "path": "node_modules/object-is/package.json" }, { - "path": "node_modules/css-select/package.json" + "path": "node_modules/event-target-shim/package.json" }, { - "path": "node_modules/eslint-plugin-prettier/package.json" + "path": "node_modules/xdg-basedir/package.json" }, { - "path": "node_modules/p-finally/package.json" + "path": "node_modules/to-readable-stream/package.json" }, { - "path": "node_modules/inquirer/package.json" + "path": "node_modules/v8-to-istanbul/package.json" }, { - "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" + "path": "node_modules/import-fresh/package.json" }, { - "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" + "path": "node_modules/acorn-es7-plugin/package.json" }, { - "path": "node_modules/acorn-jsx/package.json" + "path": "node_modules/es-abstract/package.json" }, { - "path": "node_modules/glob/package.json" + "path": "node_modules/es6-set/package.json" }, { - "path": "node_modules/mocha/package.json" + "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" }, { - "path": "node_modules/mocha/node_modules/color-name/package.json" + "path": "node_modules/empower/package.json" }, { - "path": "node_modules/mocha/node_modules/emoji-regex/package.json" + "path": "node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/mocha/node_modules/ms/package.json" + "path": "node_modules/picomatch/package.json" }, { - "path": "node_modules/mocha/node_modules/string-width/package.json" + "path": "node_modules/c8/package.json" }, { - "path": "node_modules/mocha/node_modules/ansi-regex/package.json" + "path": "node_modules/teeny-request/package.json" }, { - "path": "node_modules/mocha/node_modules/cliui/package.json" + "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/mocha/node_modules/p-locate/package.json" + "path": "node_modules/power-assert-formatter/package.json" }, { - "path": "node_modules/mocha/node_modules/locate-path/package.json" + "path": "node_modules/natural-compare/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-ansi/package.json" + "path": "node_modules/@bcoe/v8-coverage/package.json" }, { - "path": "node_modules/mocha/node_modules/has-flag/package.json" + "path": "node_modules/merge-estraverse-visitors/package.json" }, { - "path": "node_modules/mocha/node_modules/glob/package.json" + "path": "node_modules/widest-line/package.json" }, { - "path": "node_modules/mocha/node_modules/ansi-styles/package.json" + "path": "node_modules/espower/package.json" }, { - "path": "node_modules/mocha/node_modules/which/package.json" + "path": "node_modules/espower/node_modules/source-map/package.json" }, { - "path": "node_modules/mocha/node_modules/supports-color/package.json" + "path": "node_modules/prepend-http/package.json" }, { - "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/eslint-plugin-prettier/package.json" }, { - "path": "node_modules/mocha/node_modules/find-up/package.json" + "path": "node_modules/diff-match-patch/package.json" }, { - "path": "node_modules/mocha/node_modules/wrap-ansi/package.json" + "path": "node_modules/cacheable-request/package.json" }, { - "path": "node_modules/mocha/node_modules/path-exists/package.json" + "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs/package.json" + "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/mocha/node_modules/color-convert/package.json" + "path": "node_modules/setprototypeof/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" + "path": "node_modules/lodash.has/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" + "path": "node_modules/long/package.json" }, { - "path": "node_modules/event-emitter/package.json" + "path": "node_modules/array-find/package.json" }, { - "path": "node_modules/@protobufjs/codegen/package.json" + "path": "node_modules/cli-cursor/package.json" }, { - "path": "node_modules/@protobufjs/base64/package.json" + "path": "node_modules/shebang-command/package.json" }, { - "path": "node_modules/@protobufjs/utf8/package.json" + "path": "node_modules/slice-ansi/package.json" }, { - "path": "node_modules/@protobufjs/pool/package.json" + "path": "node_modules/slice-ansi/node_modules/color-name/package.json" }, { - "path": "node_modules/@protobufjs/float/package.json" + "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/@protobufjs/fetch/package.json" + "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/@protobufjs/path/package.json" + "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" }, { - "path": "node_modules/@protobufjs/aspromise/package.json" + "path": "node_modules/eslint/package.json" }, { - "path": "node_modules/@protobufjs/inquire/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" }, { - "path": "node_modules/@protobufjs/eventemitter/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/index.js" }, { - "path": "node_modules/node-forge/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" }, { - "path": "node_modules/lodash.has/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/package.json" }, { - "path": "node_modules/source-map-support/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/README.md" }, { - "path": "node_modules/source-map-support/node_modules/source-map/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" }, { - "path": "node_modules/has-symbols/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" }, { - "path": "node_modules/espurify/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" }, { - "path": "node_modules/lodash.at/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" }, { - "path": "node_modules/ansi-styles/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" }, { - "path": "node_modules/merge-estraverse-visitors/package.json" + "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" }, { - "path": "node_modules/ansi-colors/package.json" + "path": "node_modules/eslint/node_modules/which/package.json" }, { - "path": "node_modules/p-try/package.json" + "path": "node_modules/eslint/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/escope/package.json" + "path": "node_modules/eslint/node_modules/path-key/package.json" }, { - "path": "node_modules/json-parse-better-errors/package.json" + "path": "node_modules/eslint/node_modules/semver/package.json" }, { - "path": "node_modules/readable-stream/package.json" + "path": "node_modules/eslint/node_modules/shebang-regex/package.json" }, { - "path": "node_modules/abort-controller/package.json" + "path": "node_modules/eslint/node_modules/shebang-command/package.json" }, { - "path": "node_modules/which/package.json" + "path": "node_modules/eslint/node_modules/debug/package.json" }, { - "path": "node_modules/astral-regex/package.json" + "path": "node_modules/eslint/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/escodegen/package.json" + "path": "node_modules/is-arrayish/package.json" }, { - "path": "node_modules/escodegen/node_modules/esprima/package.json" + "path": "node_modules/concat-map/package.json" }, { - "path": "node_modules/escodegen/node_modules/source-map/package.json" + "path": "node_modules/power-assert-renderer-assertion/package.json" }, { - "path": "node_modules/minimist/package.json" + "path": "node_modules/signal-exit/package.json" }, { - "path": "node_modules/clone-response/package.json" + "path": "node_modules/es6-weak-map/package.json" }, { - "path": "node_modules/ecdsa-sig-formatter/package.json" + "path": "node_modules/eventemitter3/package.json" }, { - "path": "node_modules/requizzle/package.json" + "path": "node_modules/normalize-url/package.json" }, { - "path": "node_modules/base64-js/package.json" + "path": "node_modules/tslib/package.json" }, { - "path": "node_modules/object-keys/package.json" + "path": "node_modules/jsonexport/package.json" }, { - "path": "node_modules/trim-newlines/package.json" + "path": "node_modules/power-assert-context-formatter/package.json" }, { - "path": "node_modules/deep-is/package.json" + "path": "node_modules/furi/package.json" }, { - "path": "node_modules/fast-levenshtein/package.json" + "path": "node_modules/normalize-path/package.json" }, { - "path": "node_modules/shebang-regex/package.json" + "path": "node_modules/source-map/package.json" }, { - "path": "node_modules/eslint-plugin-es/package.json" + "path": "node_modules/chokidar/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" + "path": "node_modules/table/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" + "path": "node_modules/table/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/semver/package.json" + "path": "node_modules/table/node_modules/string-width/package.json" }, { - "path": "node_modules/unique-string/package.json" + "path": "node_modules/table/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/decamelize/package.json" + "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/acorn/package.json" + "path": "node_modules/table/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/wide-align/package.json" + "path": "node_modules/safe-buffer/package.json" }, { - "path": "node_modules/wide-align/node_modules/string-width/package.json" + "path": "node_modules/figures/package.json" }, { - "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" + "path": "node_modules/markdown-it/package.json" }, { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" + "path": "node_modules/is-ci/package.json" }, { - "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/got/package.json" + "path": "node_modules/core-util-is/package.json" }, { - "path": "node_modules/sprintf-js/package.json" + "path": "node_modules/fast-diff/package.json" }, { - "path": "node_modules/isarray/package.json" + "path": "node_modules/gaxios/package.json" }, { - "path": "node_modules/string_decoder/package.json" + "path": "node_modules/semver-diff/package.json" }, { - "path": "node_modules/p-limit/package.json" + "path": "node_modules/semver-diff/node_modules/semver/package.json" }, { - "path": "node_modules/url-parse-lax/package.json" + "path": "node_modules/unique-string/package.json" }, { - "path": "node_modules/mimic-fn/package.json" + "path": "node_modules/end-of-stream/package.json" }, { "path": "node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/ini/package.json" + "path": "node_modules/p-queue/package.json" }, { - "path": "node_modules/js2xmlparser/package.json" + "path": "node_modules/safer-buffer/package.json" }, { - "path": "node_modules/spdx-exceptions/package.json" + "path": "node_modules/node-environment-flags/package.json" }, { - "path": "node_modules/external-editor/package.json" + "path": "node_modules/node-environment-flags/node_modules/semver/package.json" }, { - "path": "node_modules/power-assert-formatter/package.json" + "path": "node_modules/p-cancelable/package.json" }, { - "path": "node_modules/eslint-utils/package.json" + "path": "node_modules/read-pkg-up/package.json" }, { - "path": "node_modules/text-table/package.json" + "path": "node_modules/test-exclude/package.json" }, { - "path": "node_modules/domutils/package.json" + "path": "node_modules/debug/package.json" }, { - "path": "node_modules/supports-color/package.json" + "path": "node_modules/levn/package.json" }, { - "path": "node_modules/strip-indent/package.json" + "path": "node_modules/retry-request/package.json" }, { - "path": "node_modules/fs.realpath/package.json" + "path": "node_modules/retry-request/node_modules/debug/package.json" }, { - "path": "node_modules/parse5/package.json" + "path": "node_modules/stream-shift/package.json" }, { - "path": "node_modules/decamelize-keys/package.json" + "path": "node_modules/escodegen/package.json" }, { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" + "path": "node_modules/escodegen/node_modules/esprima/package.json" }, { - "path": "node_modules/empower-core/package.json" + "path": "node_modules/escodegen/node_modules/source-map/package.json" }, { - "path": "node_modules/acorn-es7-plugin/package.json" + "path": "node_modules/lodash/package.json" }, { - "path": "node_modules/p-timeout/package.json" + "path": "node_modules/boxen/package.json" }, { - "path": "node_modules/espree/package.json" + "path": "node_modules/boxen/node_modules/chalk/package.json" }, { - "path": "node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/stringifier/package.json" }, { - "path": "node_modules/responselike/package.json" + "path": "node_modules/strip-ansi/package.json" }, { - "path": "node_modules/next-tick/package.json" + "path": "node_modules/resolve/package.json" }, { - "path": "node_modules/esrecurse/package.json" + "path": "__pycache__/synth.cpython-36.pyc" }, { - "path": "node_modules/bignumber.js/package.json" + "path": "protos/protos.d.ts" }, { - "path": "node_modules/source-map/package.json" + "path": "protos/protos.json" }, { - "path": "node_modules/find-up/package.json" + "path": "protos/protos.js" }, { - "path": "node_modules/traverse/package.json" + "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" }, { - "path": "node_modules/es-to-primitive/package.json" + "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" }, { - "path": "node_modules/rc/package.json" + "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" }, { - "path": "node_modules/rc/node_modules/minimist/package.json" + "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" }, { - "path": "node_modules/rc/node_modules/strip-json-comments/package.json" + "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" }, { - "path": "node_modules/safe-buffer/package.json" + "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" }, { - "path": "node_modules/uc.micro/package.json" + "path": ".git/config" }, { - "path": "node_modules/flat-cache/package.json" + "path": ".git/HEAD" + }, + { + "path": ".git/index" }, { - "path": "node_modules/flat-cache/node_modules/rimraf/package.json" + "path": ".git/packed-refs" }, { - "path": "node_modules/once/package.json" + "path": ".git/objects/pack/pack-47942403acd35864cf674657ef3fb4d7047cf8ef.idx" }, { - "path": "node_modules/gtoken/package.json" + "path": ".git/objects/pack/pack-47942403acd35864cf674657ef3fb4d7047cf8ef.pack" }, { - "path": "node_modules/urlgrey/package.json" + "path": ".git/logs/HEAD" }, { - "path": "node_modules/convert-source-map/package.json" + "path": ".git/logs/refs/remotes/origin/HEAD" }, { - "path": "node_modules/is-date-object/package.json" + "path": ".git/logs/refs/heads/autosynth" }, { - "path": "node_modules/escape-string-regexp/package.json" + "path": ".git/logs/refs/heads/master" }, { - "path": "node_modules/iconv-lite/package.json" + "path": ".git/refs/remotes/origin/HEAD" }, { - "path": "node_modules/is-glob/package.json" + "path": ".git/refs/heads/autosynth" }, { - "path": "node_modules/furi/package.json" + "path": ".git/refs/heads/master" }, { - "path": "node_modules/tslib/package.json" + "path": "test/gapic-v1p1beta1.js" }, { - "path": "node_modules/markdown-it-anchor/package.json" + "path": "test/gapic-v1beta2.js" }, { - "path": "node_modules/browser-stdout/package.json" + "path": "test/gapic-v1p2beta1.js" }, { - "path": "node_modules/pump/package.json" + "path": "test/gapic-v1.js" }, { - "path": "node_modules/process-nextick-args/package.json" + "path": "test/mocha.opts" }, { - "path": "node_modules/deep-extend/package.json" + "path": "test/gapic-v1p3beta1.js" }, { - "path": "node_modules/power-assert-context-reducer-ast/package.json" + "path": "src/index.js" }, { - "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" + "path": "src/browser.js" }, { - "path": "node_modules/type-check/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" }, { - "path": "node_modules/teeny-request/package.json" + "path": "src/v1p3beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" + "path": "src/v1p3beta1/index.js" }, { - "path": "node_modules/jwa/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" }, { - "path": "node_modules/walkdir/package.json" + "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" }, { - "path": "node_modules/hard-rejection/package.json" + "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/espower-source/package.json" + "path": "src/v1p3beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/espower-source/node_modules/acorn/package.json" + "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/cross-spawn/package.json" + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/@sindresorhus/is/package.json" + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/wrap-ansi/package.json" + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/quick-lru/package.json" + "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" }, { - "path": "node_modules/path-exists/package.json" + "path": "src/v1p1beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/jsdoc/package.json" + "path": "src/v1p1beta1/index.js" }, { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" + "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/cacheable-request/package.json" + "path": "src/v1p1beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" + "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/escape-html/package.json" + "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/power-assert-renderer-assertion/package.json" + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/minimist-options/package.json" + "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" }, { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" + "path": "src/v1p2beta1/video_intelligence_service_client.js" }, { - "path": "node_modules/latest-version/package.json" + "path": "src/v1p2beta1/index.js" }, { - "path": "node_modules/optionator/package.json" + "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/slice-ansi/package.json" + "path": "src/v1p2beta1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/slice-ansi/node_modules/color-name/package.json" + "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/power-assert-renderer-comparison/package.json" + "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" }, { - "path": "node_modules/flatted/package.json" + "path": "src/v1beta2/video_intelligence_service_client.js" }, { - "path": "node_modules/inherits/package.json" + "path": "src/v1beta2/index.js" }, { - "path": "node_modules/depd/package.json" + "path": "src/v1beta2/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/es6-promisify/package.json" + "path": "src/v1beta2/video_intelligence_service_client_config.json" }, { - "path": "node_modules/long/package.json" + "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/regexpp/package.json" + "path": "src/v1beta2/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/cli-width/package.json" + "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/call-matcher/package.json" + "path": "src/v1beta2/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/eslint/package.json" + "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" }, { - "path": "node_modules/eslint/node_modules/debug/package.json" + "path": "src/v1/video_intelligence_service_client.js" }, { - "path": "node_modules/eslint/node_modules/ansi-regex/package.json" + "path": "src/v1/index.js" }, { - "path": "node_modules/eslint/node_modules/path-key/package.json" + "path": "src/v1/video_intelligence_service_proto_list.json" }, { - "path": "node_modules/eslint/node_modules/shebang-command/package.json" + "path": "src/v1/video_intelligence_service_client_config.json" }, { - "path": "node_modules/eslint/node_modules/strip-ansi/package.json" + "path": "src/v1/doc/google/protobuf/doc_duration.js" }, { - "path": "node_modules/eslint/node_modules/which/package.json" + "path": "src/v1/doc/google/protobuf/doc_any.js" }, { - "path": "node_modules/eslint/node_modules/shebang-regex/package.json" + "path": "src/v1/doc/google/longrunning/doc_operations.js" }, { - "path": "node_modules/eslint/node_modules/semver/package.json" + "path": "src/v1/doc/google/rpc/doc_status.js" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/index.js" + "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/README.md" + "path": ".kokoro/.gitattributes" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/package.json" + "path": ".kokoro/test.bat" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" + "path": ".kokoro/publish.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" + "path": ".kokoro/pre-samples-test.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" + "path": ".kokoro/system-test.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" + "path": ".kokoro/docs.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" + "path": ".kokoro/test.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" + "path": ".kokoro/lint.sh" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" + "path": ".kokoro/common.cfg" }, { - "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" + "path": ".kokoro/samples-test.sh" }, { - "path": "node_modules/mdurl/package.json" + "path": ".kokoro/trampoline.sh" }, { - "path": "node_modules/v8-to-istanbul/package.json" + "path": ".kokoro/continuous/node8/test.cfg" }, { - "path": "node_modules/espower-loader/package.json" + "path": ".kokoro/continuous/node8/common.cfg" }, { - "path": "node_modules/object.getownpropertydescriptors/package.json" + "path": ".kokoro/continuous/node12/test.cfg" }, { - "path": "node_modules/yargs/package.json" + "path": ".kokoro/continuous/node12/common.cfg" }, { - "path": "node_modules/ci-info/package.json" + "path": ".kokoro/continuous/node10/docs.cfg" }, { - "path": "node_modules/color-convert/package.json" + "path": ".kokoro/continuous/node10/system-test.cfg" }, { - "path": "node_modules/write-file-atomic/package.json" + "path": ".kokoro/continuous/node10/test.cfg" }, { - "path": "node_modules/eslint-visitor-keys/package.json" + "path": ".kokoro/continuous/node10/samples-test.cfg" }, { - "path": "node_modules/agent-base/package.json" + "path": ".kokoro/continuous/node10/lint.cfg" }, { - "path": "node_modules/flat/package.json" + "path": ".kokoro/continuous/node10/common.cfg" }, { - "path": "node_modules/through2/package.json" + "path": ".kokoro/presubmit/windows/test.cfg" }, { - "path": "node_modules/gaxios/package.json" + "path": ".kokoro/presubmit/windows/common.cfg" }, { - "path": "node_modules/p-queue/package.json" + "path": ".kokoro/presubmit/node8/test.cfg" }, { - "path": "node_modules/encodeurl/package.json" + "path": ".kokoro/presubmit/node8/common.cfg" }, { - "path": "node_modules/js-tokens/package.json" + "path": ".kokoro/presubmit/node12/test.cfg" }, { - "path": "node_modules/strip-json-comments/package.json" + "path": ".kokoro/presubmit/node12/common.cfg" }, { - "path": "node_modules/eslint-config-prettier/package.json" + "path": ".kokoro/presubmit/node10/docs.cfg" }, { - "path": "node_modules/uri-js/package.json" + "path": ".kokoro/presubmit/node10/system-test.cfg" }, { - "path": "node_modules/test-exclude/package.json" + "path": ".kokoro/presubmit/node10/test.cfg" }, { - "path": "node_modules/safer-buffer/package.json" + "path": ".kokoro/presubmit/node10/samples-test.cfg" }, { - "path": "node_modules/prettier/package.json" + "path": ".kokoro/presubmit/node10/lint.cfg" }, { - "path": "node_modules/regexp.prototype.flags/package.json" + "path": ".kokoro/presubmit/node10/common.cfg" }, { - "path": "node_modules/yargs-parser/package.json" + "path": ".kokoro/release/publish.cfg" }, { - "path": "node_modules/@babel/code-frame/package.json" + "path": ".kokoro/release/docs.cfg" }, { - "path": "node_modules/@babel/highlight/package.json" + "path": ".kokoro/release/docs.sh" }, { - "path": "node_modules/@babel/parser/package.json" + "path": ".github/PULL_REQUEST_TEMPLATE.md" }, { - "path": "node_modules/configstore/package.json" + "path": ".github/release-please.yml" }, { - "path": "node_modules/is-plain-obj/package.json" + "path": ".github/ISSUE_TEMPLATE/bug_report.md" }, { - "path": "node_modules/eastasianwidth/package.json" + "path": ".github/ISSUE_TEMPLATE/feature_request.md" }, { - "path": "node_modules/has-yarn/package.json" + "path": ".github/ISSUE_TEMPLATE/support_request.md" }, { - "path": "node_modules/core-js/package.json" + "path": "samples/analyze.v1p2beta1.js" }, { - "path": "samples/analyze-streaming-shot-change.js" + "path": "samples/analyze-streaming-labels.js" }, { - "path": "samples/analyze.v1p2beta1.js" + "path": "samples/quickstart.js" }, { "path": "samples/analyze.js" }, { - "path": "samples/README.md" + "path": "samples/.eslintrc.yml" }, { - "path": "samples/analyze-streaming-labels.js" + "path": "samples/analyze-streaming-automl-classification.js" }, { "path": "samples/analyze-streaming-safe-search.js" @@ -2319,61 +2352,49 @@ "path": "samples/package.json" }, { - "path": "samples/quickstart.js" - }, - { - "path": "samples/.eslintrc.yml" + "path": "samples/analyze-streaming-object.js" }, { - "path": "samples/analyze-streaming-object.js" + "path": "samples/README.md" }, { - "path": "samples/analyze-streaming-automl-classification.js" + "path": "samples/analyze-streaming-shot-change.js" }, { "path": "samples/analyze-streaming-annotation-to-storage.js" }, { - "path": "samples/system-test/analyze.test.js" + "path": "samples/system-test/analyze-streaming-safe-search.test.js" }, { "path": "samples/system-test/analyze.v1p2beta1.test.js" }, { - "path": "samples/system-test/analyze-streaming-shot-change.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-labels.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-safe-search.test.js" + "path": "samples/system-test/analyze.test.js" }, { - "path": "samples/system-test/analyze-streaming-object.test.js" + "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" }, { - "path": "samples/system-test/analyze-streaming-automl-classification.test.js" + "path": "samples/system-test/analyze-streaming-labels.test.js" }, { "path": "samples/system-test/quickstart.test.js" }, { - "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" - }, - { - "path": "samples/resources/cat.mp4" + "path": "samples/system-test/analyze-streaming-shot-change.test.js" }, { - "path": "samples/resources/googlework_short.mp4" + "path": "samples/system-test/analyze-streaming-automl-classification.test.js" }, { - "path": "__pycache__/synth.cpython-36.pyc" + "path": "samples/system-test/analyze-streaming-object.test.js" }, { - "path": "smoke-test/video_intelligence_service_smoke_test.js" + "path": "samples/resources/googlework_short.mp4" }, { - "path": "smoke-test/.eslintrc.yml" + "path": "samples/resources/cat.mp4" } ] } \ No newline at end of file From 00555c05a5eff7013a53475338289a98828565f1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 13 Jan 2020 17:23:03 -0800 Subject: [PATCH 244/418] docs: small change to resource format in jsdoc --- .../doc/google/longrunning/doc_operations.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../synth.metadata | 2327 +---------------- 6 files changed, 8 insertions(+), 2329 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index 4719aebdc91..5aa806fd340 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js @@ -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-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index 4719aebdc91..5aa806fd340 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js @@ -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-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..5aa806fd340 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js @@ -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-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..5aa806fd340 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -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-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..5aa806fd340 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index cfee086d222..635cdb8b8b3 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2020-01-07T12:34:53.056214Z", + "updateTime": "2020-01-13T12:33:03.318003Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "cb79155f596e0396dd900da93872be7066f6340d", - "internalRef": "288441307" + "sha": "06ec6d5d053fff299eaa6eaa38afdd36c5e2fc68", + "internalRef": "289413169" } }, { @@ -75,2326 +75,5 @@ "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" } } - ], - "newFiles": [ - { - "path": "codecov.yaml" - }, - { - "path": "CHANGELOG.md" - }, - { - "path": "renovate.json" - }, - { - "path": ".prettierignore" - }, - { - "path": ".nycrc" - }, - { - "path": "synth.py" - }, - { - "path": ".eslintignore" - }, - { - "path": ".repo-metadata.json" - }, - { - "path": "linkinator.config.json" - }, - { - "path": ".eslintrc.yml" - }, - { - "path": ".jsdoc.js" - }, - { - "path": "synth.metadata" - }, - { - "path": "package-lock.json" - }, - { - "path": "LICENSE" - }, - { - "path": "webpack.config.js" - }, - { - "path": "CODE_OF_CONDUCT.md" - }, - { - "path": "CONTRIBUTING.md" - }, - { - "path": ".prettierrc" - }, - { - "path": "package.json" - }, - { - "path": ".gitignore" - }, - { - "path": "README.md" - }, - { - "path": "system-test/.eslintrc.yml" - }, - { - "path": "system-test/video_intelligence_service_smoke_test.js" - }, - { - "path": "node_modules/eslint-visitor-keys/package.json" - }, - { - "path": "node_modules/optionator/package.json" - }, - { - "path": "node_modules/to-regex-range/package.json" - }, - { - "path": "node_modules/defer-to-connect/package.json" - }, - { - "path": "node_modules/yargs/package.json" - }, - { - "path": "node_modules/dom-serializer/package.json" - }, - { - "path": "node_modules/emoji-regex/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/normalize-package-data/package.json" - }, - { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" - }, - { - "path": "node_modules/mdurl/package.json" - }, - { - "path": "node_modules/uc.micro/package.json" - }, - { - "path": "node_modules/through2/package.json" - }, - { - "path": "node_modules/make-dir/package.json" - }, - { - "path": "node_modules/make-dir/node_modules/semver/package.json" - }, - { - "path": "node_modules/package-json/package.json" - }, - { - "path": "node_modules/package-json/node_modules/semver/package.json" - }, - { - "path": "node_modules/redent/package.json" - }, - { - "path": "node_modules/which-module/package.json" - }, - { - "path": "node_modules/es6-symbol/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/keyv/package.json" - }, - { - "path": "node_modules/hard-rejection/package.json" - }, - { - "path": "node_modules/typedarray-to-buffer/.airtap.yml" - }, - { - "path": "node_modules/typedarray-to-buffer/index.js" - }, - { - "path": "node_modules/typedarray-to-buffer/LICENSE" - }, - { - "path": "node_modules/typedarray-to-buffer/.travis.yml" - }, - { - "path": "node_modules/typedarray-to-buffer/package.json" - }, - { - "path": "node_modules/typedarray-to-buffer/README.md" - }, - { - "path": "node_modules/typedarray-to-buffer/test/basic.js" - }, - { - "path": "node_modules/registry-url/package.json" - }, - { - "path": "node_modules/wrappy/package.json" - }, - { - "path": "node_modules/is-installed-globally/package.json" - }, - { - "path": "node_modules/destroy/package.json" - }, - { - "path": "node_modules/power-assert-renderer-base/package.json" - }, - { - "path": "node_modules/domhandler/package.json" - }, - { - "path": "node_modules/mkdirp/package.json" - }, - { - "path": "node_modules/@protobufjs/float/package.json" - }, - { - "path": "node_modules/@protobufjs/base64/package.json" - }, - { - "path": "node_modules/@protobufjs/fetch/package.json" - }, - { - "path": "node_modules/@protobufjs/utf8/package.json" - }, - { - "path": "node_modules/@protobufjs/pool/package.json" - }, - { - "path": "node_modules/@protobufjs/aspromise/package.json" - }, - { - "path": "node_modules/@protobufjs/eventemitter/package.json" - }, - { - "path": "node_modules/@protobufjs/inquire/package.json" - }, - { - "path": "node_modules/@protobufjs/path/package.json" - }, - { - "path": "node_modules/@protobufjs/codegen/package.json" - }, - { - "path": "node_modules/fast-deep-equal/package.json" - }, - { - "path": "node_modules/y18n/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/is-promise/package.json" - }, - { - "path": "node_modules/is-url/package.json" - }, - { - "path": "node_modules/resolve-from/package.json" - }, - { - "path": "node_modules/estraverse/package.json" - }, - { - "path": "node_modules/rimraf/package.json" - }, - { - "path": "node_modules/supports-color/package.json" - }, - { - "path": "node_modules/external-editor/package.json" - }, - { - "path": "node_modules/ignore-walk/package.json" - }, - { - "path": "node_modules/os-tmpdir/package.json" - }, - { - "path": "node_modules/escape-string-regexp/package.json" - }, - { - "path": "node_modules/camelcase-keys/package.json" - }, - { - "path": "node_modules/string_decoder/package.json" - }, - { - "path": "node_modules/is-number/package.json" - }, - { - "path": "node_modules/log-symbols/package.json" - }, - { - "path": "node_modules/pump/package.json" - }, - { - "path": "node_modules/base64-js/package.json" - }, - { - "path": "node_modules/p-try/package.json" - }, - { - "path": "node_modules/flat/package.json" - }, - { - "path": "node_modules/json-schema-traverse/package.json" - }, - { - "path": "node_modules/color-name/package.json" - }, - { - "path": "node_modules/fill-range/package.json" - }, - { - "path": "node_modules/convert-source-map/package.json" - }, - { - "path": "node_modules/escape-html/package.json" - }, - { - "path": "node_modules/require-main-filename/package.json" - }, - { - "path": "node_modules/es-to-primitive/package.json" - }, - { - "path": "node_modules/decamelize-keys/package.json" - }, - { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" - }, - { - "path": "node_modules/string-width/package.json" - }, - { - "path": "node_modules/type/package.json" - }, - { - "path": "node_modules/isexe/package.json" - }, - { - "path": "node_modules/underscore/package.json" - }, - { - "path": "node_modules/lines-and-columns/package.json" - }, - { - "path": "node_modules/event-emitter/package.json" - }, - { - "path": "node_modules/isarray/package.json" - }, - { - "path": "node_modules/deep-equal/package.json" - }, - { - "path": "node_modules/@types/normalize-package-data/package.json" - }, - { - "path": "node_modules/@types/color-name/package.json" - }, - { - "path": "node_modules/@types/minimist/package.json" - }, - { - "path": "node_modules/@types/istanbul-lib-coverage/package.json" - }, - { - "path": "node_modules/@types/node/package.json" - }, - { - "path": "node_modules/@types/is-windows/package.json" - }, - { - "path": "node_modules/@types/long/package.json" - }, - { - "path": "node_modules/@types/fs-extra/package.json" - }, - { - "path": "node_modules/word-wrap/package.json" - }, - { - "path": "node_modules/fast-levenshtein/package.json" - }, - { - "path": "node_modules/minimist/package.json" - }, - { - "path": "node_modules/istanbul-lib-report/package.json" - }, - { - "path": "node_modules/json-buffer/package.json" - }, - { - "path": "node_modules/cli-width/package.json" - }, - { - "path": "node_modules/validate-npm-package-license/package.json" - }, - { - "path": "node_modules/minimist-options/package.json" - }, - { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" - }, - { - "path": "node_modules/camelcase/package.json" - }, - { - "path": "node_modules/astral-regex/package.json" - }, - { - "path": "node_modules/read-pkg/package.json" - }, - { - "path": "node_modules/read-pkg/node_modules/type-fest/package.json" - }, - { - "path": "node_modules/serve-static/package.json" - }, - { - "path": "node_modules/ignore/package.json" - }, - { - "path": "node_modules/acorn/package.json" - }, - { - "path": "node_modules/arrify/package.json" - }, - { - "path": "node_modules/node-forge/package.json" - }, - { - "path": "node_modules/call-matcher/package.json" - }, - { - "path": "node_modules/got/package.json" - }, - { - "path": "node_modules/get-stream/package.json" - }, - { - "path": "node_modules/growl/package.json" - }, - { - "path": "node_modules/tmp/package.json" - }, - { - "path": "node_modules/range-parser/package.json" - }, - { - "path": "node_modules/balanced-match/package.json" - }, - { - "path": "node_modules/array-filter/package.json" - }, - { - "path": "node_modules/esquery/package.json" - }, - { - "path": "node_modules/cross-spawn/package.json" - }, - { - "path": "node_modules/locate-path/package.json" - }, - { - "path": "node_modules/@istanbuljs/schema/package.json" - }, - { - "path": "node_modules/jsdoc/package.json" - }, - { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" - }, - { - "path": "node_modules/core-js/package.json" - }, - { - "path": "node_modules/prettier/package.json" - }, - { - "path": "node_modules/extend/package.json" - }, - { - "path": "node_modules/function-bind/package.json" - }, - { - "path": "node_modules/domutils/package.json" - }, - { - "path": "node_modules/prelude-ls/package.json" - }, - { - "path": "node_modules/he/package.json" - }, - { - "path": "node_modules/brace-expansion/package.json" - }, - { - "path": "node_modules/acorn-jsx/package.json" - }, - { - "path": "node_modules/spdx-exceptions/package.json" - }, - { - "path": "node_modules/power-assert-context-traversal/package.json" - }, - { - "path": "node_modules/is-typedarray/package.json" - }, - { - "path": "node_modules/binary-extensions/package.json" - }, - { - "path": "node_modules/has-flag/package.json" - }, - { - "path": "node_modules/iconv-lite/package.json" - }, - { - "path": "node_modules/jwa/package.json" - }, - { - "path": "node_modules/fresh/package.json" - }, - { - "path": "node_modules/is-path-inside/package.json" - }, - { - "path": "node_modules/is-glob/package.json" - }, - { - "path": "node_modules/linkify-it/package.json" - }, - { - "path": "node_modules/parent-module/package.json" - }, - { - "path": "node_modules/ee-first/package.json" - }, - { - "path": "node_modules/glob-parent/package.json" - }, - { - "path": "node_modules/get-stdin/package.json" - }, - { - "path": "node_modules/is-buffer/package.json" - }, - { - "path": "node_modules/htmlparser2/package.json" - }, - { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/prettier-linter-helpers/package.json" - }, - { - "path": "node_modules/duplexify/package.json" - }, - { - "path": "node_modules/get-caller-file/package.json" - }, - { - "path": "node_modules/decamelize/package.json" - }, - { - "path": "node_modules/marked/package.json" - }, - { - "path": "node_modules/diff/package.json" - }, - { - "path": "node_modules/object.assign/package.json" - }, - { - "path": "node_modules/power-assert-util-string-width/package.json" - }, - { - "path": "node_modules/flat-cache/package.json" - }, - { - "path": "node_modules/flat-cache/node_modules/rimraf/package.json" - }, - { - "path": "node_modules/once/package.json" - }, - { - "path": "node_modules/is-arguments/package.json" - }, - { - "path": "node_modules/which/package.json" - }, - { - "path": "node_modules/is-symbol/package.json" - }, - { - "path": "node_modules/ajv/package.json" - }, - { - "path": "node_modules/clone-response/package.json" - }, - { - "path": "node_modules/power-assert-renderer-comparison/package.json" - }, - { - "path": "node_modules/doctrine/package.json" - }, - { - "path": "node_modules/is-callable/package.json" - }, - { - "path": "node_modules/parseurl/package.json" - }, - { - "path": "node_modules/espower-loader/package.json" - }, - { - "path": "node_modules/is-obj/package.json" - }, - { - "path": "node_modules/file-entry-cache/package.json" - }, - { - "path": "node_modules/d/package.json" - }, - { - "path": "node_modules/responselike/package.json" - }, - { - "path": "node_modules/ansi-colors/package.json" - }, - { - "path": "node_modules/has-yarn/package.json" - }, - { - "path": "node_modules/linkinator/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/chalk/package.json" - }, - { - "path": "node_modules/ext/package.json" - }, - { - "path": "node_modules/ext/node_modules/type/package.json" - }, - { - "path": "node_modules/jws/package.json" - }, - { - "path": "node_modules/p-finally/package.json" - }, - { - "path": "node_modules/json-parse-better-errors/package.json" - }, - { - "path": "node_modules/is-stream-ended/package.json" - }, - { - "path": "node_modules/anymatch/package.json" - }, - { - "path": "node_modules/set-blocking/package.json" - }, - { - "path": "node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/regexp.prototype.flags/package.json" - }, - { - "path": "node_modules/sprintf-js/package.json" - }, - { - "path": "node_modules/boolbase/package.json" - }, - { - "path": "node_modules/string.prototype.trimright/package.json" - }, - { - "path": "node_modules/lowercase-keys/package.json" - }, - { - "path": "node_modules/intelli-espower-loader/package.json" - }, - { - "path": "node_modules/espower-source/package.json" - }, - { - "path": "node_modules/espower-source/node_modules/acorn/package.json" - }, - { - "path": "node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/next-tick/package.json" - }, - { - "path": "node_modules/is-date-object/package.json" - }, - { - "path": "node_modules/http-errors/package.json" - }, - { - "path": "node_modules/path-key/package.json" - }, - { - "path": "node_modules/ini/package.json" - }, - { - "path": "node_modules/json-bigint/package.json" - }, - { - "path": "node_modules/object.getownpropertydescriptors/package.json" - }, - { - "path": "node_modules/rxjs/package.json" - }, - { - "path": "node_modules/power-assert-renderer-file/package.json" - }, - { - "path": "node_modules/@grpc/proto-loader/package.json" - }, - { - "path": "node_modules/@grpc/grpc-js/package.json" - }, - { - "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" - }, - { - "path": "node_modules/argparse/package.json" - }, - { - "path": "node_modules/has/package.json" - }, - { - "path": "node_modules/type-fest/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/minimist/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/uglify-js/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/acorn/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/semver/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/commander/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/source-map/package.json" - }, - { - "path": "node_modules/gtoken/package.json" - }, - { - "path": "node_modules/uri-js/package.json" - }, - { - "path": "node_modules/min-indent/package.json" - }, - { - "path": "node_modules/map-obj/package.json" - }, - { - "path": "node_modules/fast-text-encoding/package.json" - }, - { - "path": "node_modules/js-tokens/package.json" - }, - { - "path": "node_modules/ansi-escapes/package.json" - }, - { - "path": "node_modules/term-size/package.json" - }, - { - "path": "node_modules/run-async/package.json" - }, - { - "path": "node_modules/find-up/package.json" - }, - { - "path": "node_modules/es6-promisify/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/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/is-npm/package.json" - }, - { - "path": "node_modules/cli-boxes/package.json" - }, - { - "path": "node_modules/mime/package.json" - }, - { - "path": "node_modules/empower-assert/package.json" - }, - { - "path": "node_modules/is-extglob/package.json" - }, - { - "path": "node_modules/yargs-unparser/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/yargs/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/color-name/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/string-width/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/find-up/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/cliui/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/wrap-ansi/package.json" - }, - { - "path": "node_modules/yargs-unparser/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/deep-extend/package.json" - }, - { - "path": "node_modules/google-gax/package.json" - }, - { - "path": "node_modules/eslint-scope/package.json" - }, - { - "path": "node_modules/ms/package.json" - }, - { - "path": "node_modules/parse5/package.json" - }, - { - "path": "node_modules/indent-string/package.json" - }, - { - "path": "node_modules/inherits/package.json" - }, - { - "path": "node_modules/js2xmlparser/package.json" - }, - { - "path": "node_modules/css-select/package.json" - }, - { - "path": "node_modules/codecov/package.json" - }, - { - "path": "node_modules/trim-newlines/package.json" - }, - { - "path": "node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/html-escaper/package.json" - }, - { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" - }, - { - "path": "node_modules/mocha/package.json" - }, - { - "path": "node_modules/mocha/node_modules/yargs/package.json" - }, - { - "path": "node_modules/mocha/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/mocha/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/mocha/node_modules/color-name/package.json" - }, - { - "path": "node_modules/mocha/node_modules/string-width/package.json" - }, - { - "path": "node_modules/mocha/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/mocha/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/mocha/node_modules/which/package.json" - }, - { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/mocha/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/mocha/node_modules/find-up/package.json" - }, - { - "path": "node_modules/mocha/node_modules/ms/package.json" - }, - { - "path": "node_modules/mocha/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/mocha/node_modules/cliui/package.json" - }, - { - "path": "node_modules/mocha/node_modules/glob/package.json" - }, - { - "path": "node_modules/mocha/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/mocha/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/mocha/node_modules/p-locate/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/wrap-ansi/package.json" - }, - { - "path": "node_modules/mocha/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/graceful-fs/package.json" - }, - { - "path": "node_modules/uuid/package.json" - }, - { - "path": "node_modules/entities/package.json" - }, - { - "path": "node_modules/universal-deep-strict-equal/package.json" - }, - { - "path": "node_modules/toidentifier/package.json" - }, - { - "path": "node_modules/urlgrey/package.json" - }, - { - "path": "node_modules/write-file-atomic/package.json" - }, - { - "path": "node_modules/call-signature/package.json" - }, - { - "path": "node_modules/ci-info/package.json" - }, - { - "path": "node_modules/chalk/package.json" - }, - { - "path": "node_modules/chalk/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/chalk/node_modules/color-name/package.json" - }, - { - "path": "node_modules/chalk/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/chalk/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/chalk/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/is-binary-path/package.json" - }, - { - "path": "node_modules/cliui/package.json" - }, - { - "path": "node_modules/nice-try/package.json" - }, - { - "path": "node_modules/global-dirs/package.json" - }, - { - "path": "node_modules/import-lazy/package.json" - }, - { - "path": "node_modules/depd/package.json" - }, - { - "path": "node_modules/path-is-absolute/package.json" - }, - { - "path": "node_modules/object-keys/package.json" - }, - { - "path": "node_modules/istanbul-reports/package.json" - }, - { - "path": "node_modules/google-auth-library/package.json" - }, - { - "path": "node_modules/istanbul-lib-coverage/package.json" - }, - { - "path": "node_modules/fast-json-stable-stringify/package.json" - }, - { - "path": "node_modules/type-name/package.json" - }, - { - "path": "node_modules/traverse/package.json" - }, - { - "path": "node_modules/cheerio/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/minimatch/package.json" - }, - { - "path": "node_modules/jsdoc-fresh/package.json" - }, - { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" - }, - { - "path": "node_modules/inquirer/package.json" - }, - { - "path": "node_modules/inquirer/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/inquirer/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/indexof/package.json" - }, - { - "path": "node_modules/through/package.json" - }, - { - "path": "node_modules/restore-cursor/package.json" - }, - { - "path": "node_modules/esrecurse/package.json" - }, - { - "path": "node_modules/glob/package.json" - }, - { - "path": "node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/globals/package.json" - }, - { - "path": "node_modules/gcp-metadata/package.json" - }, - { - "path": "node_modules/js-yaml/package.json" - }, - { - "path": "node_modules/xtend/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/css-what/package.json" - }, - { - "path": "node_modules/latest-version/package.json" - }, - { - "path": "node_modules/lodash.at/package.json" - }, - { - "path": "node_modules/is-stream/package.json" - }, - { - "path": "node_modules/foreground-child/package.json" - }, - { - "path": "node_modules/power-assert/package.json" - }, - { - "path": "node_modules/yallist/package.json" - }, - { - "path": "node_modules/spdx-license-ids/package.json" - }, - { - "path": "node_modules/etag/package.json" - }, - { - "path": "node_modules/duplexer3/package.json" - }, - { - "path": "node_modules/walkdir/package.json" - }, - { - "path": "node_modules/espurify/package.json" - }, - { - "path": "node_modules/path-parse/package.json" - }, - { - "path": "node_modules/es6-map/package.json" - }, - { - "path": "node_modules/punycode/package.json" - }, - { - "path": "node_modules/jsdoc-region-tag/package.json" - }, - { - "path": "node_modules/url-parse-lax/package.json" - }, - { - "path": "node_modules/on-finished/package.json" - }, - { - "path": "node_modules/inflight/package.json" - }, - { - "path": "node_modules/is-plain-obj/package.json" - }, - { - "path": "node_modules/encodeurl/package.json" - }, - { - "path": "node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/require-directory/package.json" - }, - { - "path": "node_modules/unpipe/package.json" - }, - { - "path": "node_modules/nth-check/package.json" - }, - { - "path": "node_modules/@sindresorhus/is/package.json" - }, - { - "path": "node_modules/spdx-expression-parse/package.json" - }, - { - "path": "node_modules/text-table/package.json" - }, - { - "path": "node_modules/color-convert/package.json" - }, - { - "path": "node_modules/markdown-it-anchor/package.json" - }, - { - "path": "node_modules/spdx-correct/package.json" - }, - { - "path": "node_modules/hosted-git-info/package.json" - }, - { - "path": "node_modules/esutils/package.json" - }, - { - "path": "node_modules/agent-base/package.json" - }, - { - "path": "node_modules/configstore/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/ansi-regex/package.json" - }, - { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/ansi-align/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/is-windows/package.json" - }, - { - "path": "node_modules/esprima/package.json" - }, - { - "path": "node_modules/semver/package.json" - }, - { - "path": "node_modules/strip-indent/package.json" - }, - { - "path": "node_modules/eslint-utils/package.json" - }, - { - "path": "node_modules/update-notifier/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/chalk/package.json" - }, - { - "path": "node_modules/lru-cache/package.json" - }, - { - "path": "node_modules/domelementtype/package.json" - }, - { - "path": "node_modules/server-destroy/package.json" - }, - { - "path": "node_modules/shebang-regex/package.json" - }, - { - "path": "node_modules/process-nextick-args/package.json" - }, - { - "path": "node_modules/deep-is/package.json" - }, - { - "path": "node_modules/crypto-random-string/package.json" - }, - { - "path": "node_modules/mute-stream/package.json" - }, - { - "path": "node_modules/registry-auth-token/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/flatted/package.json" - }, - { - "path": "node_modules/has-symbols/package.json" - }, - { - "path": "node_modules/klaw/package.json" - }, - { - "path": "node_modules/meow/package.json" - }, - { - "path": "node_modules/@szmarczak/http-timer/package.json" - }, - { - "path": "node_modules/is-yarn-global/package.json" - }, - { - "path": "node_modules/lodash.camelcase/package.json" - }, - { - "path": "node_modules/fs.realpath/package.json" - }, - { - "path": "node_modules/progress/package.json" - }, - { - "path": "node_modules/eastasianwidth/package.json" - }, - { - "path": "node_modules/string.prototype.trimleft/package.json" - }, - { - "path": "node_modules/ecdsa-sig-formatter/package.json" - }, - { - "path": "node_modules/buffer-equal-constant-time/package.json" - }, - { - "path": "node_modules/dot-prop/package.json" - }, - { - "path": "node_modules/http-cache-semantics/package.json" - }, - { - "path": "node_modules/type-check/package.json" - }, - { - "path": "node_modules/es5-ext/package.json" - }, - { - "path": "node_modules/readdirp/package.json" - }, - { - "path": "node_modules/util-deprecate/package.json" - }, - { - "path": "node_modules/bignumber.js/package.json" - }, - { - "path": "node_modules/define-properties/package.json" - }, - { - "path": "node_modules/es6-iterator/package.json" - }, - { - "path": "node_modules/taffydb/package.json" - }, - { - "path": "node_modules/regexpp/package.json" - }, - { - "path": "node_modules/statuses/package.json" - }, - { - "path": "node_modules/mimic-response/package.json" - }, - { - "path": "node_modules/escope/package.json" - }, - { - "path": "node_modules/es6-promise/package.json" - }, - { - "path": "node_modules/argv/package.json" - }, - { - "path": "node_modules/p-timeout/package.json" - }, - { - "path": "node_modules/power-assert-renderer-diagram/package.json" - }, - { - "path": "node_modules/mimic-fn/package.json" - }, - { - "path": "node_modules/p-locate/package.json" - }, - { - "path": "node_modules/chardet/package.json" - }, - { - "path": "node_modules/quick-lru/package.json" - }, - { - "path": "node_modules/browser-stdout/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/v8-compile-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/parse-json/package.json" - }, - { - "path": "node_modules/abort-controller/package.json" - }, - { - "path": "node_modules/write/package.json" - }, - { - "path": "node_modules/braces/package.json" - }, - { - "path": "node_modules/xmlcreate/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/eslint-config-prettier/package.json" - }, - { - "path": "node_modules/google-p12-pem/package.json" - }, - { - "path": "node_modules/espree/package.json" - }, - { - "path": "node_modules/requizzle/package.json" - }, - { - "path": "node_modules/imurmurhash/package.json" - }, - { - "path": "node_modules/catharsis/package.json" - }, - { - "path": "node_modules/decompress-response/package.json" - }, - { - "path": "node_modules/onetime/package.json" - }, - { - "path": "node_modules/empower-core/package.json" - }, - { - "path": "node_modules/error-ex/package.json" - }, - { - "path": "node_modules/is-regex/package.json" - }, - { - "path": "node_modules/escallmatch/package.json" - }, - { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" - }, - { - "path": "node_modules/amdefine/package.json" - }, - { - "path": "node_modules/@babel/code-frame/package.json" - }, - { - "path": "node_modules/@babel/highlight/package.json" - }, - { - "path": "node_modules/@babel/parser/package.json" - }, - { - "path": "node_modules/functional-red-black-tree/package.json" - }, - { - "path": "node_modules/path-exists/package.json" - }, - { - "path": "node_modules/callsites/package.json" - }, - { - "path": "node_modules/bluebird/package.json" - }, - { - "path": "node_modules/p-limit/package.json" - }, - { - "path": "node_modules/object-inspect/package.json" - }, - { - "path": "node_modules/node-fetch/package.json" - }, - { - "path": "node_modules/object-is/package.json" - }, - { - "path": "node_modules/event-target-shim/package.json" - }, - { - "path": "node_modules/xdg-basedir/package.json" - }, - { - "path": "node_modules/to-readable-stream/package.json" - }, - { - "path": "node_modules/v8-to-istanbul/package.json" - }, - { - "path": "node_modules/import-fresh/package.json" - }, - { - "path": "node_modules/acorn-es7-plugin/package.json" - }, - { - "path": "node_modules/es-abstract/package.json" - }, - { - "path": "node_modules/es6-set/package.json" - }, - { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" - }, - { - "path": "node_modules/empower/package.json" - }, - { - "path": "node_modules/strip-json-comments/package.json" - }, - { - "path": "node_modules/picomatch/package.json" - }, - { - "path": "node_modules/c8/package.json" - }, - { - "path": "node_modules/teeny-request/package.json" - }, - { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" - }, - { - "path": "node_modules/power-assert-formatter/package.json" - }, - { - "path": "node_modules/natural-compare/package.json" - }, - { - "path": "node_modules/@bcoe/v8-coverage/package.json" - }, - { - "path": "node_modules/merge-estraverse-visitors/package.json" - }, - { - "path": "node_modules/widest-line/package.json" - }, - { - "path": "node_modules/espower/package.json" - }, - { - "path": "node_modules/espower/node_modules/source-map/package.json" - }, - { - "path": "node_modules/prepend-http/package.json" - }, - { - "path": "node_modules/eslint-plugin-prettier/package.json" - }, - { - "path": "node_modules/diff-match-patch/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/setprototypeof/package.json" - }, - { - "path": "node_modules/lodash.has/package.json" - }, - { - "path": "node_modules/long/package.json" - }, - { - "path": "node_modules/array-find/package.json" - }, - { - "path": "node_modules/cli-cursor/package.json" - }, - { - "path": "node_modules/shebang-command/package.json" - }, - { - "path": "node_modules/slice-ansi/package.json" - }, - { - "path": "node_modules/slice-ansi/node_modules/color-name/package.json" - }, - { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/slice-ansi/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/slice-ansi/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/eslint/package.json" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/CHANGELOG.md" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/index.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/LICENSE" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/package.json" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/README.md" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/parse.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/enoent.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/resolveCommand.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/escape.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/lib/util/readShebang.js" - }, - { - "path": "node_modules/eslint/node_modules/cross-spawn/node_modules/semver/package.json" - }, - { - "path": "node_modules/eslint/node_modules/which/package.json" - }, - { - "path": "node_modules/eslint/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/eslint/node_modules/path-key/package.json" - }, - { - "path": "node_modules/eslint/node_modules/semver/package.json" - }, - { - "path": "node_modules/eslint/node_modules/shebang-regex/package.json" - }, - { - "path": "node_modules/eslint/node_modules/shebang-command/package.json" - }, - { - "path": "node_modules/eslint/node_modules/debug/package.json" - }, - { - "path": "node_modules/eslint/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/is-arrayish/package.json" - }, - { - "path": "node_modules/concat-map/package.json" - }, - { - "path": "node_modules/power-assert-renderer-assertion/package.json" - }, - { - "path": "node_modules/signal-exit/package.json" - }, - { - "path": "node_modules/es6-weak-map/package.json" - }, - { - "path": "node_modules/eventemitter3/package.json" - }, - { - "path": "node_modules/normalize-url/package.json" - }, - { - "path": "node_modules/tslib/package.json" - }, - { - "path": "node_modules/jsonexport/package.json" - }, - { - "path": "node_modules/power-assert-context-formatter/package.json" - }, - { - "path": "node_modules/furi/package.json" - }, - { - "path": "node_modules/normalize-path/package.json" - }, - { - "path": "node_modules/source-map/package.json" - }, - { - "path": "node_modules/chokidar/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/ansi-regex/package.json" - }, - { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/table/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/safe-buffer/package.json" - }, - { - "path": "node_modules/figures/package.json" - }, - { - "path": "node_modules/markdown-it/package.json" - }, - { - "path": "node_modules/is-ci/package.json" - }, - { - "path": "node_modules/wrap-ansi/package.json" - }, - { - "path": "node_modules/core-util-is/package.json" - }, - { - "path": "node_modules/fast-diff/package.json" - }, - { - "path": "node_modules/gaxios/package.json" - }, - { - "path": "node_modules/semver-diff/package.json" - }, - { - "path": "node_modules/semver-diff/node_modules/semver/package.json" - }, - { - "path": "node_modules/unique-string/package.json" - }, - { - "path": "node_modules/end-of-stream/package.json" - }, - { - "path": "node_modules/https-proxy-agent/package.json" - }, - { - "path": "node_modules/p-queue/package.json" - }, - { - "path": "node_modules/safer-buffer/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-cancelable/package.json" - }, - { - "path": "node_modules/read-pkg-up/package.json" - }, - { - "path": "node_modules/test-exclude/package.json" - }, - { - "path": "node_modules/debug/package.json" - }, - { - "path": "node_modules/levn/package.json" - }, - { - "path": "node_modules/retry-request/package.json" - }, - { - "path": "node_modules/retry-request/node_modules/debug/package.json" - }, - { - "path": "node_modules/stream-shift/package.json" - }, - { - "path": "node_modules/escodegen/package.json" - }, - { - "path": "node_modules/escodegen/node_modules/esprima/package.json" - }, - { - "path": "node_modules/escodegen/node_modules/source-map/package.json" - }, - { - "path": "node_modules/lodash/package.json" - }, - { - "path": "node_modules/boxen/package.json" - }, - { - "path": "node_modules/boxen/node_modules/chalk/package.json" - }, - { - "path": "node_modules/stringifier/package.json" - }, - { - "path": "node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/resolve/package.json" - }, - { - "path": "__pycache__/synth.cpython-36.pyc" - }, - { - "path": "protos/protos.d.ts" - }, - { - "path": "protos/protos.json" - }, - { - "path": "protos/protos.js" - }, - { - "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" - }, - { - "path": ".git/config" - }, - { - "path": ".git/HEAD" - }, - { - "path": ".git/index" - }, - { - "path": ".git/packed-refs" - }, - { - "path": ".git/objects/pack/pack-47942403acd35864cf674657ef3fb4d7047cf8ef.idx" - }, - { - "path": ".git/objects/pack/pack-47942403acd35864cf674657ef3fb4d7047cf8ef.pack" - }, - { - "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": "test/gapic-v1p1beta1.js" - }, - { - "path": "test/gapic-v1beta2.js" - }, - { - "path": "test/gapic-v1p2beta1.js" - }, - { - "path": "test/gapic-v1.js" - }, - { - "path": "test/mocha.opts" - }, - { - "path": "test/gapic-v1p3beta1.js" - }, - { - "path": "src/index.js" - }, - { - "path": "src/browser.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/index.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p1beta1/index.js" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p2beta1/index.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_client.js" - }, - { - "path": "src/v1beta2/index.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1beta2/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1beta2/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" - }, - { - "path": "src/v1/video_intelligence_service_client.js" - }, - { - "path": "src/v1/index.js" - }, - { - "path": "src/v1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" - }, - { - "path": ".kokoro/.gitattributes" - }, - { - "path": ".kokoro/test.bat" - }, - { - "path": ".kokoro/publish.sh" - }, - { - "path": ".kokoro/pre-samples-test.sh" - }, - { - "path": ".kokoro/system-test.sh" - }, - { - "path": ".kokoro/docs.sh" - }, - { - "path": ".kokoro/test.sh" - }, - { - "path": ".kokoro/lint.sh" - }, - { - "path": ".kokoro/common.cfg" - }, - { - "path": ".kokoro/samples-test.sh" - }, - { - "path": ".kokoro/trampoline.sh" - }, - { - "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/continuous/node10/docs.cfg" - }, - { - "path": ".kokoro/continuous/node10/system-test.cfg" - }, - { - "path": ".kokoro/continuous/node10/test.cfg" - }, - { - "path": ".kokoro/continuous/node10/samples-test.cfg" - }, - { - "path": ".kokoro/continuous/node10/lint.cfg" - }, - { - "path": ".kokoro/continuous/node10/common.cfg" - }, - { - "path": ".kokoro/presubmit/windows/test.cfg" - }, - { - "path": ".kokoro/presubmit/windows/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/node10/docs.cfg" - }, - { - "path": ".kokoro/presubmit/node10/system-test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/samples-test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/lint.cfg" - }, - { - "path": ".kokoro/presubmit/node10/common.cfg" - }, - { - "path": ".kokoro/release/publish.cfg" - }, - { - "path": ".kokoro/release/docs.cfg" - }, - { - "path": ".kokoro/release/docs.sh" - }, - { - "path": ".github/PULL_REQUEST_TEMPLATE.md" - }, - { - "path": ".github/release-please.yml" - }, - { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/support_request.md" - }, - { - "path": "samples/analyze.v1p2beta1.js" - }, - { - "path": "samples/analyze-streaming-labels.js" - }, - { - "path": "samples/quickstart.js" - }, - { - "path": "samples/analyze.js" - }, - { - "path": "samples/.eslintrc.yml" - }, - { - "path": "samples/analyze-streaming-automl-classification.js" - }, - { - "path": "samples/analyze-streaming-safe-search.js" - }, - { - "path": "samples/package.json" - }, - { - "path": "samples/analyze-streaming-object.js" - }, - { - "path": "samples/README.md" - }, - { - "path": "samples/analyze-streaming-shot-change.js" - }, - { - "path": "samples/analyze-streaming-annotation-to-storage.js" - }, - { - "path": "samples/system-test/analyze-streaming-safe-search.test.js" - }, - { - "path": "samples/system-test/analyze.v1p2beta1.test.js" - }, - { - "path": "samples/system-test/analyze.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-labels.test.js" - }, - { - "path": "samples/system-test/quickstart.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-shot-change.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-automl-classification.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-object.test.js" - }, - { - "path": "samples/resources/googlework_short.mp4" - }, - { - "path": "samples/resources/cat.mp4" - } ] } \ No newline at end of file From d08788973969ebefccf1a006082c8d8f575ad710 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 16 Jan 2020 16:47:45 -0800 Subject: [PATCH 245/418] docs: update license headers --- packages/google-cloud-videointelligence/src/browser.js | 2 +- .../videointelligence/v1/doc_video_intelligence.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_duration.js | 2 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../google-cloud-videointelligence/src/v1/index.js | 2 +- .../src/v1/video_intelligence_service_client.js | 2 +- .../v1beta2/doc_video_intelligence.js | 2 +- .../v1beta2/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1beta2/doc/google/protobuf/doc_any.js | 2 +- .../src/v1beta2/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1beta2/doc/google/rpc/doc_status.js | 2 +- .../src/v1beta2/index.js | 2 +- .../src/v1beta2/video_intelligence_service_client.js | 2 +- .../v1p1beta1/doc_video_intelligence.js | 2 +- .../v1p1beta1/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p1beta1/index.js | 2 +- .../src/v1p1beta1/video_intelligence_service_client.js | 2 +- .../v1p2beta1/doc_video_intelligence.js | 2 +- .../v1p2beta1/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1p2beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p2beta1/index.js | 2 +- .../src/v1p2beta1/video_intelligence_service_client.js | 2 +- .../v1p3beta1/doc_video_intelligence.js | 2 +- .../v1p3beta1/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p3beta1/doc/google/protobuf/doc_duration.js | 2 +- .../src/v1p3beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p3beta1/index.js | 2 +- .../streaming_video_intelligence_service_client.js | 2 +- .../src/v1p3beta1/video_intelligence_service_client.js | 2 +- packages/google-cloud-videointelligence/synth.metadata | 10 +++++----- .../google-cloud-videointelligence/test/gapic-v1.js | 2 +- .../test/gapic-v1beta2.js | 2 +- .../test/gapic-v1p1beta1.js | 2 +- .../test/gapic-v1p2beta1.js | 2 +- .../test/gapic-v1p3beta1.js | 2 +- .../google-cloud-videointelligence/webpack.config.js | 2 +- 44 files changed, 48 insertions(+), 48 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/browser.js b/packages/google-cloud-videointelligence/src/browser.js index ddbcd7ecb9a..68dc62d25d6 100644 --- a/packages/google-cloud-videointelligence/src/browser.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js index 50688641947..e7ecaf471eb 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.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-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js index 5aa806fd340..099e418d620 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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. diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js index 1275f8f4d13..bd4b4ee6067 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/index.js b/packages/google-cloud-videointelligence/src/v1/index.js index b95e2466ed0..9bdd2dd7138 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js index 1116b978713..ac23daa002f 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 99e6e0bf3b6..18960fed46e 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.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-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js index 5aa806fd340..099e418d620 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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. diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js index 1275f8f4d13..bd4b4ee6067 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.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-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.js index b95e2466ed0..9bdd2dd7138 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index ccc58f9b6d8..26ac21660a1 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index 600df73c010..f74de028f31 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.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-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js index 5aa806fd340..099e418d620 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/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. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js index 1275f8f4d13..bd4b4ee6067 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/index.js b/packages/google-cloud-videointelligence/src/v1p1beta1/index.js index b95e2466ed0..9bdd2dd7138 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index 33ffbfbf7d9..e34b6561895 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index adec5684d0b..058d50a01b5 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.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-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 5aa806fd340..099e418d620 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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. diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js index 1275f8f4d13..bd4b4ee6067 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/index.js b/packages/google-cloud-videointelligence/src/v1p2beta1/index.js index b95e2466ed0..9bdd2dd7138 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 47924654695..5a6bf4535b8 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 03414ab804d..4e4a1ba0bad 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.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-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js index 5aa806fd340..099e418d620 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-videointelligence/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. diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js index 1275f8f4d13..bd4b4ee6067 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.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-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/index.js b/packages/google-cloud-videointelligence/src/v1p3beta1/index.js index 21857997950..612cf0bc4a0 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js index 0726af7157a..7f525168f77 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js index 42407e28fdd..166d89d1560 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 635cdb8b8b3..203c33b51bb 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2020-01-13T12:33:03.318003Z", + "updateTime": "2020-01-15T12:39:24.772160Z", "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": "06ec6d5d053fff299eaa6eaa38afdd36c5e2fc68", - "internalRef": "289413169" + "sha": "d99df0d67057a233c711187e0689baa4f8e6333d", + "internalRef": "289709813" } }, { diff --git a/packages/google-cloud-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-v1.js index 2787834bd48..1c065bd4af6 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-v1beta2.js index 7eb10349cd0..761a0cf529e 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-v1beta2.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-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js index 7ad4290b971..2d7ae2d736d 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js index 20dc70f7bbf..1c4f1bd3ad0 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js index 40278f1b92e..5d149f65233 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/webpack.config.js b/packages/google-cloud-videointelligence/webpack.config.js index ab92bb7f543..c8b97cca605 100644 --- a/packages/google-cloud-videointelligence/webpack.config.js +++ b/packages/google-cloud-videointelligence/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 b605d63867d2a02f952417cbd15bbed9af801c00 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 23 Jan 2020 16:27:04 -0800 Subject: [PATCH 246/418] chore: clear synth.metadata --- .../synth.metadata | 79 ------------------- 1 file changed, 79 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/synth.metadata diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata deleted file mode 100644 index 203c33b51bb..00000000000 --- a/packages/google-cloud-videointelligence/synth.metadata +++ /dev/null @@ -1,79 +0,0 @@ -{ - "updateTime": "2020-01-15T12:39:24.772160Z", - "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": "video-intelligence", - "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1beta2", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "video-intelligence", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" - } - } - ] -} \ No newline at end of file From 02c263468f2d4e4894faecff87a5d472b6a76d5c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 27 Jan 2020 16:06:47 -0800 Subject: [PATCH 247/418] chore: regenerate synth.metadata (#357) --- .../src/v1/doc/google/rpc/doc_status.js | 60 +- .../src/v1beta2/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 +- .../synth.metadata | 531 ++++++++++++++++++ 6 files changed, 561 insertions(+), 270 deletions(-) create mode 100644 packages/google-cloud-videointelligence/synth.metadata diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata new file mode 100644 index 00000000000..93246f6e085 --- /dev/null +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -0,0 +1,531 @@ +{ + "updateTime": "2020-01-24T12:41:24.060995Z", + "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": "video-intelligence", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1beta2", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "video-intelligence", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.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/pre-samples-test.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/videointelligence/v1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" + }, + { + "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.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/analyze-streaming-annotation-to-storage.js" + }, + { + "path": "samples/analyze-streaming-automl-classification.js" + }, + { + "path": "samples/analyze-streaming-labels.js" + }, + { + "path": "samples/analyze-streaming-object.js" + }, + { + "path": "samples/analyze-streaming-safe-search.js" + }, + { + "path": "samples/analyze-streaming-shot-change.js" + }, + { + "path": "samples/analyze.js" + }, + { + "path": "samples/analyze.v1p2beta1.js" + }, + { + "path": "samples/package.json" + }, + { + "path": "samples/quickstart.js" + }, + { + "path": "samples/resources/cat.mp4" + }, + { + "path": "samples/resources/googlework_short.mp4" + }, + { + "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-automl-classification.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-labels.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-object.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-safe-search.test.js" + }, + { + "path": "samples/system-test/analyze-streaming-shot-change.test.js" + }, + { + "path": "samples/system-test/analyze.test.js" + }, + { + "path": "samples/system-test/analyze.v1p2beta1.test.js" + }, + { + "path": "samples/system-test/quickstart.test.js" + }, + { + "path": "src/browser.js" + }, + { + "path": "src/index.js" + }, + { + "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.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_duration.js" + }, + { + "path": "src/v1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1/index.js" + }, + { + "path": "src/v1/video_intelligence_service_client.js" + }, + { + "path": "src/v1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" + }, + { + "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1beta2/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1beta2/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1beta2/index.js" + }, + { + "path": "src/v1beta2/video_intelligence_service_client.js" + }, + { + "path": "src/v1beta2/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1beta2/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" + }, + { + "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" + }, + { + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p1beta1/index.js" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.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_duration.js" + }, + { + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p2beta1/index.js" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.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_duration.js" + }, + { + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p3beta1/index.js" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_client.js" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_client_config.json" + }, + { + "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" + }, + { + "path": "synth.py" + }, + { + "path": "system-test/.eslintrc.yml" + }, + { + "path": "system-test/video_intelligence_service_smoke_test.js" + }, + { + "path": "test/gapic-v1.js" + }, + { + "path": "test/gapic-v1beta2.js" + }, + { + "path": "test/gapic-v1p1beta1.js" + }, + { + "path": "test/gapic-v1p2beta1.js" + }, + { + "path": "test/gapic-v1p3beta1.js" + }, + { + "path": "test/mocha.opts" + }, + { + "path": "webpack.config.js" + } + ] +} \ No newline at end of file From 0cdbe964dc49ccf74ced7d1999e581c206bfd2ce Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 28 Jan 2020 16:01:42 -0800 Subject: [PATCH 248/418] fix: new proto annotations; .d.ts enums support strings (#358) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * fix: regenerate library Co-authored-by: Alexander Fenster --- .../v1beta2/video_intelligence.proto | 30 +- .../v1p1beta1/video_intelligence.proto | 86 +- .../v1p2beta1/video_intelligence.proto | 39 +- .../v1p3beta1/video_intelligence.proto | 85 +- .../protos/protos.d.ts | 666 ++- .../protos/protos.js | 4987 +++++++++++------ .../protos/protos.json | 212 +- .../v1beta2/doc_video_intelligence.js | 10 +- .../video_intelligence_service_client.js | 6 +- .../v1p1beta1/doc_video_intelligence.js | 48 +- .../video_intelligence_service_client.js | 18 +- .../v1p2beta1/doc_video_intelligence.js | 18 +- .../video_intelligence_service_client.js | 18 +- .../v1p3beta1/doc_video_intelligence.js | 144 +- .../synth.metadata | 115 +- 15 files changed, 4342 insertions(+), 2140 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index a69c25791e1..8e80640e05c 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.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.videointelligence.v1beta2; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -32,6 +35,10 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1beta2"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). @@ -42,6 +49,11 @@ service VideoIntelligenceService { post: "/v1beta2/videos:annotate" body: "*" }; + option (google.api.method_signature) = "input_uri,features"; + option (google.longrunning.operation_info) = { + response_type: "AnnotateVideoResponse" + metadata_type: "AnnotateVideoProgress" + }; } } @@ -64,31 +76,31 @@ message AnnotateVideoRequest { // If set, `input_uri` should be unset. bytes input_content = 6; - // Requested video annotation features. - repeated Feature features = 2; + // Required. Requested video annotation features. + repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED]; // Additional video context and/or feature-specific parameters. VideoContext video_context = 3; - // Optional location where the output (in JSON format) should be stored. + // Optional. Location where the output (in JSON format) should be stored. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For // more information, see [Request URIs](/storage/docs/reference-uris). - string output_uri = 4; + string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional cloud region where annotation should take place. Supported cloud + // Optional. Cloud region where annotation should take place. Supported cloud // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region // is specified, a region will be determined based on video file location. - string location_id = 5; + string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } // Video context and/or feature-specific parameters. message VideoContext { // Video segments to annotate. The segments may overlap and are not required - // to be contiguous or span the whole video. If unspecified, each video - // is treated as a single segment. + // to be contiguous or span the whole video. If unspecified, each video is + // treated as a single segment. repeated VideoSegment segments = 1; // Config for LABEL_DETECTION. diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 115f362beb6..44d3ca64162 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.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.videointelligence.v1p1beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -32,16 +35,23 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1p1beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) - returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p1beta1/videos:annotate" body: "*" }; + option (google.api.method_signature) = "input_uri,features"; + option (google.longrunning.operation_info) = { + response_type: "AnnotateVideoResponse" + metadata_type: "AnnotateVideoProgress" + }; } } @@ -51,10 +61,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). A video - // URI may include wildcards in `object-id`, and thus identify multiple - // videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -64,24 +74,24 @@ message AnnotateVideoRequest { // If set, `input_uri` should be unset. bytes input_content = 6; - // Requested video annotation features. - repeated Feature features = 2; + // Required. Requested video annotation features. + repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED]; // Additional video context and/or feature-specific parameters. VideoContext video_context = 3; - // Optional location where the output (in JSON format) should be stored. + // Optional. Location where the output (in JSON format) should be stored. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). - string output_uri = 4; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional cloud region where annotation should take place. Supported cloud + // Optional. Cloud region where annotation should take place. Supported cloud // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region // is specified, a region will be determined based on video file location. - string location_id = 5; + string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } // Video context and/or feature-specific parameters. @@ -285,60 +295,60 @@ message AnnotateVideoProgress { // Config for SPEECH_TRANSCRIPTION. message SpeechTranscriptionConfig { - // *Required* The language of the supplied audio as a + // Required. *Required* The language of the supplied audio as a // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. // Example: "en-US". // See [Language Support](https://cloud.google.com/speech/docs/languages) // for a list of the currently supported language codes. - string language_code = 1; + string language_code = 1 [(google.api.field_behavior) = REQUIRED]; - // *Optional* Maximum number of recognition hypotheses to be returned. + // Optional. Maximum number of recognition hypotheses to be returned. // Specifically, the maximum number of `SpeechRecognitionAlternative` messages - // within each `SpeechRecognitionResult`. The server may return fewer than + // within each `SpeechTranscription`. The server may return fewer than // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will // return a maximum of one. If omitted, will return a maximum of one. - int32 max_alternatives = 2; + int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If set to `true`, the server will attempt to filter out + // Optional. If set to `true`, the server will attempt to filter out // profanities, replacing all but the initial character in each filtered word // with asterisks, e.g. "f***". If set to `false` or omitted, profanities // won't be filtered out. - bool filter_profanity = 3; + bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* A means to provide context to assist the speech recognition. - repeated SpeechContext speech_contexts = 4; + // Optional. A means to provide context to assist the speech recognition. + repeated SpeechContext speech_contexts = 4 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* If 'true', adds punctuation to recognition result hypotheses. + // Optional. If 'true', adds punctuation to recognition result hypotheses. // This feature is only available in select languages. Setting this for // requests in other languages has no effect at all. The default 'false' value // does not add punctuation to result hypotheses. NOTE: "This is currently // offered as an experimental service, complimentary to all users. In the // future this may be exclusively available as a premium feature." - bool enable_automatic_punctuation = 5; + bool enable_automatic_punctuation = 5 [(google.api.field_behavior) = OPTIONAL]; - // *Optional* For file formats, such as MXF or MKV, supporting multiple audio + // Optional. For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. - repeated int32 audio_tracks = 6; + repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL]; } // Provides "hints" to the speech recognizer to favor specific words and phrases // in the results. message SpeechContext { - // *Optional* A list of strings containing words and phrases "hints" so that + // Optional. A list of strings containing words and phrases "hints" so that // the speech recognition is more likely to recognize them. This can be used // to improve the accuracy for specific words and phrases, for example, if // specific commands are typically spoken by the user. This can also be used // to add additional words to the vocabulary of the recognizer. See // [usage limits](https://cloud.google.com/speech/limits#content). - repeated string phrases = 1; + repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL]; } // A speech recognition result corresponding to a portion of the audio. message SpeechTranscription { - // Output only. May contain one or more recognition hypotheses (up to the - // maximum specified in `max_alternatives`). - // These alternatives are ordered in terms of accuracy, with the top (first) - // alternative being the most probable, as ranked by the recognizer. + // May contain one or more recognition hypotheses (up to the maximum specified + // in `max_alternatives`). These alternatives are ordered in terms of + // accuracy, with the top (first) alternative being the most probable, as + // ranked by the recognizer. repeated SpeechRecognitionAlternative alternatives = 1; } @@ -349,11 +359,11 @@ message SpeechRecognitionAlternative { // Output only. The confidence estimate between 0.0 and 1.0. A higher number // indicates an estimated greater likelihood that the recognized words are - // correct. This field is typically provided only for the top hypothesis, and - // only for `is_final=true` results. Clients should not rely on the - // `confidence` field as it is not guaranteed to be accurate or consistent. + // correct. This field is set only for the top alternative. + // This field is not guaranteed to be accurate and users should not rely on it + // to be always provided. // The default of 0.0 is a sentinel value indicating `confidence` was not set. - float confidence = 2; + float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A list of word-specific information for each recognized word. repeated WordInfo words = 3; diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index 0a16e7afd15..044233b09d2 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.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,8 @@ syntax = "proto3"; package google.cloud.videointelligence.v1p2beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -33,16 +35,23 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1p2beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { + option (google.api.default_host) = "videointelligence.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) - returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p2beta1/videos:annotate" body: "*" }; + option (google.api.method_signature) = "input_uri,features"; + option (google.longrunning.operation_info) = { + response_type: "AnnotateVideoResponse" + metadata_type: "AnnotateVideoProgress" + }; } } @@ -52,10 +61,10 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). A video - // URI may include wildcards in `object-id`, and thus identify multiple - // videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + // A video URI may include wildcards in `object-id`, and thus identify + // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -65,24 +74,24 @@ message AnnotateVideoRequest { // If set, `input_uri` should be unset. bytes input_content = 6; - // Requested video annotation features. - repeated Feature features = 2; + // Required. Requested video annotation features. + repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED]; // Additional video context and/or feature-specific parameters. VideoContext video_context = 3; - // Optional location where the output (in JSON format) should be stored. + // Optional. Location where the output (in JSON format) should be stored. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). - string output_uri = 4; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + // [Request URIs](/storage/docs/reference-uris). + string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional cloud region where annotation should take place. Supported cloud + // Optional. Cloud region where annotation should take place. Supported cloud // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region // is specified, a region will be determined based on video file location. - string location_id = 5; + string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } // Video context and/or feature-specific parameters. diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 1203b315283..942f63be8a9 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.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. @@ -124,12 +124,18 @@ message VideoContext { // Config for EXPLICIT_CONTENT_DETECTION. ExplicitContentDetectionConfig explicit_content_detection_config = 4; + // Config for FACE_DETECTION. + FaceDetectionConfig face_detection_config = 5; + // Config for SPEECH_TRANSCRIPTION. SpeechTranscriptionConfig speech_transcription_config = 6; // Config for TEXT_DETECTION. TextDetectionConfig text_detection_config = 8; + // Config for PERSON_DETECTION. + PersonDetectionConfig person_detection_config = 11; + // Config for OBJECT_TRACKING. ObjectTrackingConfig object_tracking_config = 13; } @@ -192,6 +198,38 @@ message ExplicitContentDetectionConfig { string model = 1; } +// Config for FACE_DETECTION. +message FaceDetectionConfig { + // Model to use for face detection. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 1; + + // Whether bounding boxes be included in the face annotation output. + bool include_bounding_boxes = 2; + + // Whether to enable face attributes detection, such as glasses, dark_glasses, + // mouth_open etc. Ignored if 'include_bounding_boxes' is false. + bool include_attributes = 5; +} + +// Config for PERSON_DETECTION. +message PersonDetectionConfig { + // Whether bounding boxes be included in the person detection annotation + // output. + bool include_bounding_boxes = 1; + + // Whether to enable pose landmarks detection. Ignored if + // 'include_bounding_boxes' is false. + bool include_pose_landmarks = 2; + + // Whether to enable person attributes detection, such as cloth color (black, + // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair + // color (black, blonde, etc), hair length (long, short, bald), etc. + // Ignored if 'include_bounding_boxes' is false. + bool include_attributes = 3; +} + // Config for TEXT_DETECTION. message TextDetectionConfig { // Language hint can be specified if the language to be detected is known a @@ -318,6 +356,10 @@ message TimestampedObject { // Optional. The attributes of the object in the bounding box. repeated DetectedAttribute attributes = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The detected landmarks. + repeated DetectedLandmark landmarks = 4 + [(google.api.field_behavior) = OPTIONAL]; } // A track of an object instance. @@ -392,6 +434,35 @@ message CelebrityRecognitionAnnotation { repeated CelebrityTrack celebrity_tracks = 1; } +// A generic detected landmark represented by name in string format and a 2D +// location. +message DetectedLandmark { + // The name of this landmark, i.e. left_hand, right_shoulder. + string name = 1; + + // The 2D point of the detected landmark using the normalized image + // coordindate system. The normalized coordinates have the range from 0 to 1. + NormalizedVertex point = 2; + + // The confidence score of the detected landmark. Range [0, 1]. + float confidence = 3; +} + +// Face detection annotation. +message FaceDetectionAnnotation { + // The face tracks with attributes. + repeated Track tracks = 3; + + // The thumbnail of a person's face. + bytes thumbnail = 4; +} + +// Person detection annotation per video. +message PersonDetectionAnnotation { + // The trackes that a person is detected. + repeated Track tracks = 1; +} + // Annotation results for a single video. message VideoAnnotationResults { // Video file location in @@ -428,6 +499,9 @@ message VideoAnnotationResults { // There is exactly one element for each unique label. repeated LabelAnnotation frame_label_annotations = 4; + // Face detection annotations. + repeated FaceDetectionAnnotation face_detection_annotations = 13; + // Shot annotations. Each shot is represented as a video segment. repeated VideoSegment shot_annotations = 6; @@ -448,6 +522,9 @@ message VideoAnnotationResults { // Annotations for list of logos detected, tracked and recognized in video. repeated LogoRecognitionAnnotation logo_recognition_annotations = 19; + // Person detection annotations. + repeated PersonDetectionAnnotation person_detection_annotations = 20; + // Celebrity recognition annotations. CelebrityRecognitionAnnotation celebrity_recognition_annotations = 21; @@ -912,6 +989,9 @@ enum Feature { // Explicit content detection. EXPLICIT_CONTENT_DETECTION = 3; + // Human face detection. + FACE_DETECTION = 4; + // Speech transcription. SPEECH_TRANSCRIPTION = 6; @@ -926,6 +1006,9 @@ enum Feature { // Celebrity recognition. CELEBRITY_RECOGNITION = 13; + + // Person detection. + PERSON_DETECTION = 14; } // Label detection mode. diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index ef1fce2a5ea..7be3137049e 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -78,7 +78,7 @@ export namespace google { inputUri?: (string|null); /** AnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); /** AnnotateVideoRequest features */ features?: (google.cloud.videointelligence.v1.Feature[]|null); @@ -106,7 +106,7 @@ export namespace google { public inputUri: string; /** AnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** AnnotateVideoRequest features. */ public features: google.cloud.videointelligence.v1.Feature[]; @@ -357,7 +357,7 @@ export namespace google { interface ILabelDetectionConfig { /** LabelDetectionConfig labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1.LabelDetectionMode|null); + labelDetectionMode?: (google.cloud.videointelligence.v1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1.LabelDetectionMode|null); /** LabelDetectionConfig stationaryCamera */ stationaryCamera?: (boolean|null); @@ -382,7 +382,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1.ILabelDetectionConfig); /** LabelDetectionConfig labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1.LabelDetectionMode; + public labelDetectionMode: (google.cloud.videointelligence.v1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1.LabelDetectionMode); /** LabelDetectionConfig stationaryCamera. */ public stationaryCamera: boolean; @@ -1434,7 +1434,7 @@ export namespace google { timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood */ - pornographyLikelihood?: (google.cloud.videointelligence.v1.Likelihood|null); + pornographyLikelihood?: (google.cloud.videointelligence.v1.Likelihood|keyof typeof google.cloud.videointelligence.v1.Likelihood|null); } /** Represents an ExplicitContentFrame. */ @@ -1450,7 +1450,7 @@ export namespace google { public timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood. */ - public pornographyLikelihood: google.cloud.videointelligence.v1.Likelihood; + public pornographyLikelihood: (google.cloud.videointelligence.v1.Likelihood|keyof typeof google.cloud.videointelligence.v1.Likelihood); /** * Creates a new ExplicitContentFrame instance using the specified properties. @@ -1911,7 +1911,7 @@ export namespace google { interface IFaceAnnotation { /** FaceAnnotation thumbnail */ - thumbnail?: (Uint8Array|null); + thumbnail?: (Uint8Array|string|null); /** FaceAnnotation segments */ segments?: (google.cloud.videointelligence.v1.IFaceSegment[]|null); @@ -1930,7 +1930,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1.IFaceAnnotation); /** FaceAnnotation thumbnail. */ - public thumbnail: Uint8Array; + public thumbnail: (Uint8Array|string); /** FaceAnnotation segments. */ public segments: google.cloud.videointelligence.v1.IFaceSegment[]; @@ -2283,7 +2283,7 @@ export namespace google { updateTime?: (google.protobuf.ITimestamp|null); /** VideoAnnotationProgress feature */ - feature?: (google.cloud.videointelligence.v1.Feature|null); + feature?: (google.cloud.videointelligence.v1.Feature|keyof typeof google.cloud.videointelligence.v1.Feature|null); /** VideoAnnotationProgress segment */ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); @@ -2311,7 +2311,7 @@ export namespace google { public updateTime?: (google.protobuf.ITimestamp|null); /** VideoAnnotationProgress feature. */ - public feature: google.cloud.videointelligence.v1.Feature; + public feature: (google.cloud.videointelligence.v1.Feature|keyof typeof google.cloud.videointelligence.v1.Feature); /** VideoAnnotationProgress segment. */ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); @@ -3600,7 +3600,7 @@ export namespace google { segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId */ - trackId?: (number|Long|null); + trackId?: (number|Long|string|null); /** ObjectTrackingAnnotation entity */ entity?: (google.cloud.videointelligence.v1.IEntity|null); @@ -3625,7 +3625,7 @@ export namespace google { public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long); + public trackId: (number|Long|string); /** ObjectTrackingAnnotation entity. */ public entity?: (google.cloud.videointelligence.v1.IEntity|null); @@ -3766,7 +3766,7 @@ export namespace google { inputUri?: (string|null); /** AnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); /** AnnotateVideoRequest features */ features?: (google.cloud.videointelligence.v1beta2.Feature[]|null); @@ -3794,7 +3794,7 @@ export namespace google { public inputUri: string; /** AnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** AnnotateVideoRequest features. */ public features: google.cloud.videointelligence.v1beta2.Feature[]; @@ -3997,7 +3997,7 @@ export namespace google { interface ILabelDetectionConfig { /** LabelDetectionConfig labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|null); + labelDetectionMode?: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1beta2.LabelDetectionMode|null); /** LabelDetectionConfig stationaryCamera */ stationaryCamera?: (boolean|null); @@ -4016,7 +4016,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig); /** LabelDetectionConfig labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1beta2.LabelDetectionMode; + public labelDetectionMode: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1beta2.LabelDetectionMode); /** LabelDetectionConfig stationaryCamera. */ public stationaryCamera: boolean; @@ -4876,7 +4876,7 @@ export namespace google { timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood */ - pornographyLikelihood?: (google.cloud.videointelligence.v1beta2.Likelihood|null); + pornographyLikelihood?: (google.cloud.videointelligence.v1beta2.Likelihood|keyof typeof google.cloud.videointelligence.v1beta2.Likelihood|null); } /** Represents an ExplicitContentFrame. */ @@ -4892,7 +4892,7 @@ export namespace google { public timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood. */ - public pornographyLikelihood: google.cloud.videointelligence.v1beta2.Likelihood; + public pornographyLikelihood: (google.cloud.videointelligence.v1beta2.Likelihood|keyof typeof google.cloud.videointelligence.v1beta2.Likelihood); /** * Creates a new ExplicitContentFrame instance using the specified properties. @@ -5353,7 +5353,7 @@ export namespace google { interface IFaceAnnotation { /** FaceAnnotation thumbnail */ - thumbnail?: (Uint8Array|null); + thumbnail?: (Uint8Array|string|null); /** FaceAnnotation segments */ segments?: (google.cloud.videointelligence.v1beta2.IFaceSegment[]|null); @@ -5372,7 +5372,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceAnnotation); /** FaceAnnotation thumbnail. */ - public thumbnail: Uint8Array; + public thumbnail: (Uint8Array|string); /** FaceAnnotation segments. */ public segments: google.cloud.videointelligence.v1beta2.IFaceSegment[]; @@ -5954,7 +5954,7 @@ export namespace google { inputUri?: (string|null); /** AnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); /** AnnotateVideoRequest features */ features?: (google.cloud.videointelligence.v1p1beta1.Feature[]|null); @@ -5982,7 +5982,7 @@ export namespace google { public inputUri: string; /** AnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** AnnotateVideoRequest features. */ public features: google.cloud.videointelligence.v1p1beta1.Feature[]; @@ -6185,7 +6185,7 @@ export namespace google { interface ILabelDetectionConfig { /** LabelDetectionConfig labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|null); + labelDetectionMode?: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|null); /** LabelDetectionConfig stationaryCamera */ stationaryCamera?: (boolean|null); @@ -6204,7 +6204,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig); /** LabelDetectionConfig labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1p1beta1.LabelDetectionMode; + public labelDetectionMode: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p1beta1.LabelDetectionMode); /** LabelDetectionConfig stationaryCamera. */ public stationaryCamera: boolean; @@ -6968,7 +6968,7 @@ export namespace google { timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood */ - pornographyLikelihood?: (google.cloud.videointelligence.v1p1beta1.Likelihood|null); + pornographyLikelihood?: (google.cloud.videointelligence.v1p1beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p1beta1.Likelihood|null); } /** Represents an ExplicitContentFrame. */ @@ -6984,7 +6984,7 @@ export namespace google { public timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood. */ - public pornographyLikelihood: google.cloud.videointelligence.v1p1beta1.Likelihood; + public pornographyLikelihood: (google.cloud.videointelligence.v1p1beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p1beta1.Likelihood); /** * Creates a new ExplicitContentFrame instance using the specified properties. @@ -8154,7 +8154,7 @@ export namespace google { inputUri?: (string|null); /** AnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); /** AnnotateVideoRequest features */ features?: (google.cloud.videointelligence.v1p2beta1.Feature[]|null); @@ -8182,7 +8182,7 @@ export namespace google { public inputUri: string; /** AnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** AnnotateVideoRequest features. */ public features: google.cloud.videointelligence.v1p2beta1.Feature[]; @@ -8385,7 +8385,7 @@ export namespace google { interface ILabelDetectionConfig { /** LabelDetectionConfig labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|null); + labelDetectionMode?: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|null); /** LabelDetectionConfig stationaryCamera */ stationaryCamera?: (boolean|null); @@ -8404,7 +8404,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig); /** LabelDetectionConfig labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1p2beta1.LabelDetectionMode; + public labelDetectionMode: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p2beta1.LabelDetectionMode); /** LabelDetectionConfig stationaryCamera. */ public stationaryCamera: boolean; @@ -9258,7 +9258,7 @@ export namespace google { timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood */ - pornographyLikelihood?: (google.cloud.videointelligence.v1p2beta1.Likelihood|null); + pornographyLikelihood?: (google.cloud.videointelligence.v1p2beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p2beta1.Likelihood|null); } /** Represents an ExplicitContentFrame. */ @@ -9274,7 +9274,7 @@ export namespace google { public timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood. */ - public pornographyLikelihood: google.cloud.videointelligence.v1p2beta1.Likelihood; + public pornographyLikelihood: (google.cloud.videointelligence.v1p2beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p2beta1.Likelihood); /** * Creates a new ExplicitContentFrame instance using the specified properties. @@ -10784,7 +10784,7 @@ export namespace google { inputUri?: (string|null); /** AnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); /** AnnotateVideoRequest features */ features?: (google.cloud.videointelligence.v1p3beta1.Feature[]|null); @@ -10812,7 +10812,7 @@ export namespace google { public inputUri: string; /** AnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** AnnotateVideoRequest features. */ public features: google.cloud.videointelligence.v1p3beta1.Feature[]; @@ -10912,12 +10912,18 @@ export namespace google { /** VideoContext explicitContentDetectionConfig */ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null); + /** VideoContext faceDetectionConfig */ + faceDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null); + /** VideoContext speechTranscriptionConfig */ speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null); /** VideoContext textDetectionConfig */ textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null); + /** VideoContext personDetectionConfig */ + personDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null); + /** VideoContext objectTrackingConfig */ objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null); } @@ -10943,12 +10949,18 @@ export namespace google { /** VideoContext explicitContentDetectionConfig. */ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null); + /** VideoContext faceDetectionConfig. */ + public faceDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null); + /** VideoContext speechTranscriptionConfig. */ public speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null); /** VideoContext textDetectionConfig. */ public textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null); + /** VideoContext personDetectionConfig. */ + public personDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null); + /** VideoContext objectTrackingConfig. */ public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null); @@ -11027,7 +11039,7 @@ export namespace google { interface ILabelDetectionConfig { /** LabelDetectionConfig labelDetectionMode */ - labelDetectionMode?: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|null); + labelDetectionMode?: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|null); /** LabelDetectionConfig stationaryCamera */ stationaryCamera?: (boolean|null); @@ -11052,7 +11064,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig); /** LabelDetectionConfig labelDetectionMode. */ - public labelDetectionMode: google.cloud.videointelligence.v1p3beta1.LabelDetectionMode; + public labelDetectionMode: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p3beta1.LabelDetectionMode); /** LabelDetectionConfig stationaryCamera. */ public stationaryCamera: boolean; @@ -11407,6 +11419,210 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a FaceDetectionConfig. */ + interface IFaceDetectionConfig { + + /** FaceDetectionConfig model */ + model?: (string|null); + + /** FaceDetectionConfig includeBoundingBoxes */ + includeBoundingBoxes?: (boolean|null); + + /** FaceDetectionConfig includeAttributes */ + includeAttributes?: (boolean|null); + } + + /** Represents a FaceDetectionConfig. */ + class FaceDetectionConfig implements IFaceDetectionConfig { + + /** + * Constructs a new FaceDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig); + + /** FaceDetectionConfig model. */ + public model: string; + + /** FaceDetectionConfig includeBoundingBoxes. */ + public includeBoundingBoxes: boolean; + + /** FaceDetectionConfig includeAttributes. */ + public includeAttributes: boolean; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig; + + /** + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages. + * @param message FaceDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig; + + /** + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig; + + /** + * Verifies a FaceDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig; + + /** + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. + * @param message FaceDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PersonDetectionConfig. */ + interface IPersonDetectionConfig { + + /** PersonDetectionConfig includeBoundingBoxes */ + includeBoundingBoxes?: (boolean|null); + + /** PersonDetectionConfig includePoseLandmarks */ + includePoseLandmarks?: (boolean|null); + + /** PersonDetectionConfig includeAttributes */ + includeAttributes?: (boolean|null); + } + + /** Represents a PersonDetectionConfig. */ + class PersonDetectionConfig implements IPersonDetectionConfig { + + /** + * Constructs a new PersonDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig); + + /** PersonDetectionConfig includeBoundingBoxes. */ + public includeBoundingBoxes: boolean; + + /** PersonDetectionConfig includePoseLandmarks. */ + public includePoseLandmarks: boolean; + + /** PersonDetectionConfig includeAttributes. */ + public includeAttributes: boolean; + + /** + * Creates a new PersonDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns PersonDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; + + /** + * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages. + * @param message PersonDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages. + * @param message PersonDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; + + /** + * Verifies a PersonDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PersonDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; + + /** + * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified. + * @param message PersonDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PersonDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a TextDetectionConfig. */ interface ITextDetectionConfig { @@ -12008,7 +12224,7 @@ export namespace google { timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood */ - pornographyLikelihood?: (google.cloud.videointelligence.v1p3beta1.Likelihood|null); + pornographyLikelihood?: (google.cloud.videointelligence.v1p3beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p3beta1.Likelihood|null); } /** Represents an ExplicitContentFrame. */ @@ -12024,7 +12240,7 @@ export namespace google { public timeOffset?: (google.protobuf.IDuration|null); /** ExplicitContentFrame pornographyLikelihood. */ - public pornographyLikelihood: google.cloud.videointelligence.v1p3beta1.Likelihood; + public pornographyLikelihood: (google.cloud.videointelligence.v1p3beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p3beta1.Likelihood); /** * Creates a new ExplicitContentFrame instance using the specified properties. @@ -12306,6 +12522,9 @@ export namespace google { /** TimestampedObject attributes */ attributes?: (google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]|null); + + /** TimestampedObject landmarks */ + landmarks?: (google.cloud.videointelligence.v1p3beta1.IDetectedLandmark[]|null); } /** Represents a TimestampedObject. */ @@ -12326,6 +12545,9 @@ export namespace google { /** TimestampedObject attributes. */ public attributes: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]; + /** TimestampedObject landmarks. */ + public landmarks: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark[]; + /** * Creates a new TimestampedObject instance using the specified properties. * @param [properties] Properties to set @@ -12994,6 +13216,294 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a DetectedLandmark. */ + interface IDetectedLandmark { + + /** DetectedLandmark name */ + name?: (string|null); + + /** DetectedLandmark point */ + point?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null); + + /** DetectedLandmark confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLandmark. */ + class DetectedLandmark implements IDetectedLandmark { + + /** + * Constructs a new DetectedLandmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark); + + /** DetectedLandmark name. */ + public name: string; + + /** DetectedLandmark point. */ + public point?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null); + + /** DetectedLandmark confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLandmark instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLandmark instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark): google.cloud.videointelligence.v1p3beta1.DetectedLandmark; + + /** + * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages. + * @param message DetectedLandmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages. + * @param message DetectedLandmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.DetectedLandmark; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.DetectedLandmark; + + /** + * Verifies a DetectedLandmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLandmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.DetectedLandmark; + + /** + * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified. + * @param message DetectedLandmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.DetectedLandmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLandmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceDetectionAnnotation. */ + interface IFaceDetectionAnnotation { + + /** FaceDetectionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null); + + /** FaceDetectionAnnotation thumbnail */ + thumbnail?: (Uint8Array|string|null); + } + + /** Represents a FaceDetectionAnnotation. */ + class FaceDetectionAnnotation implements IFaceDetectionAnnotation { + + /** + * Constructs a new FaceDetectionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation); + + /** FaceDetectionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[]; + + /** FaceDetectionAnnotation thumbnail. */ + public thumbnail: (Uint8Array|string); + + /** + * Creates a new FaceDetectionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceDetectionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation; + + /** + * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages. + * @param message FaceDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages. + * @param message FaceDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation; + + /** + * Verifies a FaceDetectionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceDetectionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation; + + /** + * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified. + * @param message FaceDetectionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceDetectionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PersonDetectionAnnotation. */ + interface IPersonDetectionAnnotation { + + /** PersonDetectionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null); + } + + /** Represents a PersonDetectionAnnotation. */ + class PersonDetectionAnnotation implements IPersonDetectionAnnotation { + + /** + * Constructs a new PersonDetectionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation); + + /** PersonDetectionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[]; + + /** + * Creates a new PersonDetectionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns PersonDetectionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; + + /** + * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages. + * @param message PersonDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages. + * @param message PersonDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PersonDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; + + /** + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PersonDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; + + /** + * Verifies a PersonDetectionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PersonDetectionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; + + /** + * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified. + * @param message PersonDetectionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PersonDetectionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a VideoAnnotationResults. */ interface IVideoAnnotationResults { @@ -13018,6 +13528,9 @@ export namespace google { /** VideoAnnotationResults frameLabelAnnotations */ frameLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + /** VideoAnnotationResults faceDetectionAnnotations */ + faceDetectionAnnotations?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation[]|null); + /** VideoAnnotationResults shotAnnotations */ shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); @@ -13036,6 +13549,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations */ logoRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]|null); + /** VideoAnnotationResults personDetectionAnnotations */ + personDetectionAnnotations?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation[]|null); + /** VideoAnnotationResults celebrityRecognitionAnnotations */ celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null); @@ -13073,6 +13589,9 @@ export namespace google { /** VideoAnnotationResults frameLabelAnnotations. */ public frameLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + /** VideoAnnotationResults faceDetectionAnnotations. */ + public faceDetectionAnnotations: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation[]; + /** VideoAnnotationResults shotAnnotations. */ public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; @@ -13091,6 +13610,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations. */ public logoRecognitionAnnotations: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]; + /** VideoAnnotationResults personDetectionAnnotations. */ + public personDetectionAnnotations: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation[]; + /** VideoAnnotationResults celebrityRecognitionAnnotations. */ public celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null); @@ -13274,7 +13796,7 @@ export namespace google { updateTime?: (google.protobuf.ITimestamp|null); /** VideoAnnotationProgress feature */ - feature?: (google.cloud.videointelligence.v1p3beta1.Feature|null); + feature?: (google.cloud.videointelligence.v1p3beta1.Feature|keyof typeof google.cloud.videointelligence.v1p3beta1.Feature|null); /** VideoAnnotationProgress segment */ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); @@ -13302,7 +13824,7 @@ export namespace google { public updateTime?: (google.protobuf.ITimestamp|null); /** VideoAnnotationProgress feature. */ - public feature: google.cloud.videointelligence.v1p3beta1.Feature; + public feature: (google.cloud.videointelligence.v1p3beta1.Feature|keyof typeof google.cloud.videointelligence.v1p3beta1.Feature); /** VideoAnnotationProgress segment. */ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); @@ -14600,7 +15122,7 @@ export namespace google { segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId */ - trackId?: (number|Long|null); + trackId?: (number|Long|string|null); } /** Represents an ObjectTrackingAnnotation. */ @@ -14625,7 +15147,7 @@ export namespace google { public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long); + public trackId: (number|Long|string); /** ObjectTrackingAnnotation trackInfo. */ public trackInfo?: ("segment"|"trackId"); @@ -14810,7 +15332,7 @@ export namespace google { videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null); /** StreamingAnnotateVideoRequest inputContent */ - inputContent?: (Uint8Array|null); + inputContent?: (Uint8Array|string|null); } /** Represents a StreamingAnnotateVideoRequest. */ @@ -14826,7 +15348,7 @@ export namespace google { public videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null); /** StreamingAnnotateVideoRequest inputContent. */ - public inputContent: Uint8Array; + public inputContent: (Uint8Array|string); /** StreamingAnnotateVideoRequest streamingRequest. */ public streamingRequest?: ("videoConfig"|"inputContent"); @@ -15734,7 +16256,7 @@ export namespace google { interface IStreamingVideoConfig { /** StreamingVideoConfig feature */ - feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|null); + feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature|null); /** StreamingVideoConfig shotChangeDetectionConfig */ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); @@ -15768,7 +16290,7 @@ export namespace google { constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig); /** StreamingVideoConfig feature. */ - public feature: google.cloud.videointelligence.v1p3beta1.StreamingFeature; + public feature: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature); /** StreamingVideoConfig shotChangeDetectionConfig. */ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); @@ -15871,11 +16393,13 @@ export namespace google { LABEL_DETECTION = 1, SHOT_CHANGE_DETECTION = 2, EXPLICIT_CONTENT_DETECTION = 3, + FACE_DETECTION = 4, SPEECH_TRANSCRIPTION = 6, TEXT_DETECTION = 7, OBJECT_TRACKING = 9, LOGO_RECOGNITION = 12, - CELEBRITY_RECOGNITION = 13 + CELEBRITY_RECOGNITION = 13, + PERSON_DETECTION = 14 } /** LabelDetectionMode enum. */ @@ -16957,10 +17481,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); @@ -16997,10 +17521,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; @@ -17775,7 +18299,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); @@ -17848,7 +18372,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; @@ -18094,13 +18618,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); @@ -18128,13 +18652,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; @@ -18633,7 +19157,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); @@ -18661,7 +19185,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[]; @@ -18757,16 +19281,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); @@ -18788,16 +19312,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; @@ -19387,7 +19911,7 @@ export namespace google { type_url?: (string|null); /** Any value */ - value?: (Uint8Array|null); + value?: (Uint8Array|string|null); } /** Represents an Any. */ @@ -19403,7 +19927,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. @@ -19480,7 +20004,7 @@ export namespace google { interface IDuration { /** Duration seconds */ - seconds?: (number|Long|null); + seconds?: (number|Long|string|null); /** Duration nanos */ nanos?: (number|null); @@ -19496,7 +20020,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; @@ -19660,7 +20184,7 @@ export namespace google { interface ITimestamp { /** Timestamp seconds */ - seconds?: (number|Long|null); + seconds?: (number|Long|string|null); /** Timestamp nanos */ nanos?: (number|null); @@ -19676,7 +20200,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; diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index b0f5c795179..64e727108e2 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -27162,11 +27162,13 @@ case 1: case 2: case 3: + case 4: case 6: case 7: case 9: case 12: case 13: + case 14: break; } } @@ -27226,6 +27228,10 @@ case 3: message.features[i] = 3; break; + case "FACE_DETECTION": + case 4: + message.features[i] = 4; + break; case "SPEECH_TRANSCRIPTION": case 6: message.features[i] = 6; @@ -27246,6 +27252,10 @@ case 13: message.features[i] = 13; break; + case "PERSON_DETECTION": + case 14: + message.features[i] = 14; + break; } } if (object.videoContext != null) { @@ -27330,8 +27340,10 @@ * @property {google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig * @property {google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null} [faceDetectionConfig] VideoContext faceDetectionConfig * @property {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig * @property {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null} [personDetectionConfig] VideoContext personDetectionConfig * @property {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null} [objectTrackingConfig] VideoContext objectTrackingConfig */ @@ -27383,6 +27395,14 @@ */ VideoContext.prototype.explicitContentDetectionConfig = null; + /** + * VideoContext faceDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null|undefined} faceDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.faceDetectionConfig = null; + /** * VideoContext speechTranscriptionConfig. * @member {google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null|undefined} speechTranscriptionConfig @@ -27399,6 +27419,14 @@ */ VideoContext.prototype.textDetectionConfig = null; + /** + * VideoContext personDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null|undefined} personDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @instance + */ + VideoContext.prototype.personDetectionConfig = null; + /** * VideoContext objectTrackingConfig. * @member {google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null|undefined} objectTrackingConfig @@ -27440,10 +27468,14 @@ $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.encode(message.personDetectionConfig, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; @@ -27494,12 +27526,18 @@ case 4: message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); break; + case 5: + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.decode(reader, reader.uint32()); + break; case 6: message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); break; case 8: message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.decode(reader, reader.uint32()); break; + case 11: + message.personDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.decode(reader, reader.uint32()); + break; case 13: message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.decode(reader, reader.uint32()); break; @@ -27562,6 +27600,11 @@ if (error) return "explicitContentDetectionConfig." + error; } + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify(message.faceDetectionConfig); + if (error) + return "faceDetectionConfig." + error; + } if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) { var error = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify(message.speechTranscriptionConfig); if (error) @@ -27572,6 +27615,11 @@ if (error) return "textDetectionConfig." + error; } + if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify(message.personDetectionConfig); + if (error) + return "personDetectionConfig." + error; + } if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { var error = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify(message.objectTrackingConfig); if (error) @@ -27617,6 +27665,11 @@ throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.explicitContentDetectionConfig: object expected"); message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); } + if (object.faceDetectionConfig != null) { + if (typeof object.faceDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.faceDetectionConfig: object expected"); + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.fromObject(object.faceDetectionConfig); + } if (object.speechTranscriptionConfig != null) { if (typeof object.speechTranscriptionConfig !== "object") throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.speechTranscriptionConfig: object expected"); @@ -27627,6 +27680,11 @@ throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.textDetectionConfig: object expected"); message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.fromObject(object.textDetectionConfig); } + if (object.personDetectionConfig != null) { + if (typeof object.personDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.personDetectionConfig: object expected"); + message.personDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.fromObject(object.personDetectionConfig); + } if (object.objectTrackingConfig != null) { if (typeof object.objectTrackingConfig !== "object") throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoContext.objectTrackingConfig: object expected"); @@ -27654,8 +27712,10 @@ object.labelDetectionConfig = null; object.shotChangeDetectionConfig = null; object.explicitContentDetectionConfig = null; + object.faceDetectionConfig = null; object.speechTranscriptionConfig = null; object.textDetectionConfig = null; + object.personDetectionConfig = null; object.objectTrackingConfig = null; } if (message.segments && message.segments.length) { @@ -27669,10 +27729,14 @@ object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + object.faceDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.toObject(message.faceDetectionConfig, options); if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options); if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) object.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.toObject(message.textDetectionConfig, options); + if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) + object.personDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.toObject(message.personDetectionConfig, options); if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) object.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.toObject(message.objectTrackingConfig, options); return object; @@ -28552,26 +28616,26 @@ return ExplicitContentDetectionConfig; })(); - v1p3beta1.TextDetectionConfig = (function() { + v1p3beta1.FaceDetectionConfig = (function() { /** - * Properties of a TextDetectionConfig. + * Properties of a FaceDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ITextDetectionConfig - * @property {Array.|null} [languageHints] TextDetectionConfig languageHints - * @property {string|null} [model] TextDetectionConfig model + * @interface IFaceDetectionConfig + * @property {string|null} [model] FaceDetectionConfig model + * @property {boolean|null} [includeBoundingBoxes] FaceDetectionConfig includeBoundingBoxes + * @property {boolean|null} [includeAttributes] FaceDetectionConfig includeAttributes */ /** - * Constructs a new TextDetectionConfig. + * Constructs a new FaceDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a TextDetectionConfig. - * @implements ITextDetectionConfig + * @classdesc Represents a FaceDetectionConfig. + * @implements IFaceDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig=} [properties] Properties to set */ - function TextDetectionConfig(properties) { - this.languageHints = []; + function FaceDetectionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28579,91 +28643,101 @@ } /** - * TextDetectionConfig languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * FaceDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @instance */ - TextDetectionConfig.prototype.languageHints = $util.emptyArray; + FaceDetectionConfig.prototype.model = ""; /** - * TextDetectionConfig model. - * @member {string} model - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * FaceDetectionConfig includeBoundingBoxes. + * @member {boolean} includeBoundingBoxes + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @instance */ - TextDetectionConfig.prototype.model = ""; + FaceDetectionConfig.prototype.includeBoundingBoxes = false; /** - * Creates a new TextDetectionConfig instance using the specified properties. + * FaceDetectionConfig includeAttributes. + * @member {boolean} includeAttributes + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.includeAttributes = false; + + /** + * Creates a new FaceDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} FaceDetectionConfig instance */ - TextDetectionConfig.create = function create(properties) { - return new TextDetectionConfig(properties); + FaceDetectionConfig.create = function create(properties) { + return new FaceDetectionConfig(properties); }; /** - * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextDetectionConfig.encode = function encode(message, writer) { + FaceDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.includeAttributes); return writer; }; /** - * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. + * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + FaceDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TextDetectionConfig message from the specified reader or buffer. + * Decodes a FaceDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} FaceDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextDetectionConfig.decode = function decode(reader, length) { + FaceDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); + message.model = reader.string(); break; case 2: - message.model = reader.string(); + message.includeBoundingBoxes = reader.bool(); + break; + case 5: + message.includeAttributes = reader.bool(); break; default: reader.skipType(tag & 7); @@ -28674,129 +28748,126 @@ }; /** - * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} FaceDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + FaceDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TextDetectionConfig message. + * Verifies a FaceDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TextDetectionConfig.verify = function verify(message) { + FaceDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - 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.model != null && message.hasOwnProperty("model")) if (!$util.isString(message.model)) return "model: string expected"; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (typeof message.includeBoundingBoxes !== "boolean") + return "includeBoundingBoxes: boolean expected"; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (typeof message.includeAttributes !== "boolean") + return "includeAttributes: boolean expected"; return null; }; /** - * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} FaceDetectionConfig */ - TextDetectionConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig) + FaceDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig(); if (object.model != null) message.model = String(object.model); + if (object.includeBoundingBoxes != null) + message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + if (object.includeAttributes != null) + message.includeAttributes = Boolean(object.includeAttributes); return message; }; /** - * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. + * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} message TextDetectionConfig + * @param {google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} message FaceDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TextDetectionConfig.toObject = function toObject(message, options) { + FaceDetectionConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.languageHints = []; - if (options.defaults) + if (options.defaults) { object.model = ""; - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; + object.includeBoundingBoxes = false; + object.includeAttributes = false; } if (message.model != null && message.hasOwnProperty("model")) object.model = message.model; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + object.includeBoundingBoxes = message.includeBoundingBoxes; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + object.includeAttributes = message.includeAttributes; return object; }; /** - * Converts this TextDetectionConfig to JSON. + * Converts this FaceDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig * @instance * @returns {Object.} JSON object */ - TextDetectionConfig.prototype.toJSON = function toJSON() { + FaceDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TextDetectionConfig; + return FaceDetectionConfig; })(); - v1p3beta1.VideoSegment = (function() { + v1p3beta1.PersonDetectionConfig = (function() { /** - * Properties of a VideoSegment. + * Properties of a PersonDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IVideoSegment - * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset - * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset + * @interface IPersonDetectionConfig + * @property {boolean|null} [includeBoundingBoxes] PersonDetectionConfig includeBoundingBoxes + * @property {boolean|null} [includePoseLandmarks] PersonDetectionConfig includePoseLandmarks + * @property {boolean|null} [includeAttributes] PersonDetectionConfig includeAttributes */ /** - * Constructs a new VideoSegment. + * Constructs a new PersonDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a VideoSegment. - * @implements IVideoSegment + * @classdesc Represents a PersonDetectionConfig. + * @implements IPersonDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig=} [properties] Properties to set */ - function VideoSegment(properties) { + function PersonDetectionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28804,88 +28875,101 @@ } /** - * VideoSegment startTimeOffset. - * @member {google.protobuf.IDuration|null|undefined} startTimeOffset - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * PersonDetectionConfig includeBoundingBoxes. + * @member {boolean} includeBoundingBoxes + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @instance */ - VideoSegment.prototype.startTimeOffset = null; + PersonDetectionConfig.prototype.includeBoundingBoxes = false; /** - * VideoSegment endTimeOffset. - * @member {google.protobuf.IDuration|null|undefined} endTimeOffset - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * PersonDetectionConfig includePoseLandmarks. + * @member {boolean} includePoseLandmarks + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @instance */ - VideoSegment.prototype.endTimeOffset = null; + PersonDetectionConfig.prototype.includePoseLandmarks = false; /** - * Creates a new VideoSegment instance using the specified properties. + * PersonDetectionConfig includeAttributes. + * @member {boolean} includeAttributes + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig + * @instance + */ + PersonDetectionConfig.prototype.includeAttributes = false; + + /** + * Creates a new PersonDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment instance + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} PersonDetectionConfig instance */ - VideoSegment.create = function create(properties) { - return new VideoSegment(properties); + PersonDetectionConfig.create = function create(properties) { + return new PersonDetectionConfig(properties); }; /** - * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoSegment.encode = function encode(message, writer) { + PersonDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) - $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) - $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.includeBoundingBoxes); + if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includePoseLandmarks); + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.includeAttributes); return writer; }; /** - * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. + * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { + PersonDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VideoSegment message from the specified reader or buffer. + * Decodes a PersonDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} PersonDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoSegment.decode = function decode(reader, length) { + PersonDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.includeBoundingBoxes = reader.bool(); break; case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.includePoseLandmarks = reader.bool(); + break; + case 3: + message.includeAttributes = reader.bool(); break; default: reader.skipType(tag & 7); @@ -28896,127 +28980,126 @@ }; /** - * Decodes a VideoSegment message from the specified reader or buffer, length delimited. + * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} PersonDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoSegment.decodeDelimited = function decodeDelimited(reader) { + PersonDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VideoSegment message. + * Verifies a PersonDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VideoSegment.verify = function verify(message) { + PersonDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { - var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); - if (error) - return "startTimeOffset." + error; - } - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { - var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); - if (error) - return "endTimeOffset." + error; - } + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (typeof message.includeBoundingBoxes !== "boolean") + return "includeBoundingBoxes: boolean expected"; + if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + if (typeof message.includePoseLandmarks !== "boolean") + return "includePoseLandmarks: boolean expected"; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (typeof message.includeAttributes !== "boolean") + return "includeAttributes: boolean expected"; return null; }; /** - * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. + * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} PersonDetectionConfig */ - VideoSegment.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoSegment) + PersonDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); - if (object.startTimeOffset != null) { - if (typeof object.startTimeOffset !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.startTimeOffset: object expected"); - message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); - } - if (object.endTimeOffset != null) { - if (typeof object.endTimeOffset !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.endTimeOffset: object expected"); - message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig(); + if (object.includeBoundingBoxes != null) + message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + if (object.includePoseLandmarks != null) + message.includePoseLandmarks = Boolean(object.includePoseLandmarks); + if (object.includeAttributes != null) + message.includeAttributes = Boolean(object.includeAttributes); return message; }; /** - * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. + * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.VideoSegment} message VideoSegment + * @param {google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} message PersonDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VideoSegment.toObject = function toObject(message, options) { + PersonDetectionConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.startTimeOffset = null; - object.endTimeOffset = null; + object.includeBoundingBoxes = false; + object.includePoseLandmarks = false; + object.includeAttributes = false; } - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) - object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) - object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + object.includeBoundingBoxes = message.includeBoundingBoxes; + if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + object.includePoseLandmarks = message.includePoseLandmarks; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + object.includeAttributes = message.includeAttributes; return object; }; /** - * Converts this VideoSegment to JSON. + * Converts this PersonDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig * @instance * @returns {Object.} JSON object */ - VideoSegment.prototype.toJSON = function toJSON() { + PersonDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VideoSegment; + return PersonDetectionConfig; })(); - v1p3beta1.LabelSegment = (function() { + v1p3beta1.TextDetectionConfig = (function() { /** - * Properties of a LabelSegment. + * Properties of a TextDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ILabelSegment - * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] LabelSegment segment - * @property {number|null} [confidence] LabelSegment confidence + * @interface ITextDetectionConfig + * @property {Array.|null} [languageHints] TextDetectionConfig languageHints + * @property {string|null} [model] TextDetectionConfig model */ /** - * Constructs a new LabelSegment. + * Constructs a new TextDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a LabelSegment. - * @implements ILabelSegment + * @classdesc Represents a TextDetectionConfig. + * @implements ITextDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set */ - function LabelSegment(properties) { + function TextDetectionConfig(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29024,88 +29107,91 @@ } /** - * LabelSegment segment. - * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * TextDetectionConfig languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @instance */ - LabelSegment.prototype.segment = null; + TextDetectionConfig.prototype.languageHints = $util.emptyArray; /** - * LabelSegment confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * TextDetectionConfig model. + * @member {string} model + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @instance */ - LabelSegment.prototype.confidence = 0; + TextDetectionConfig.prototype.model = ""; /** - * Creates a new LabelSegment instance using the specified properties. + * Creates a new TextDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment instance + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig instance */ - LabelSegment.create = function create(properties) { - return new LabelSegment(properties); + TextDetectionConfig.create = function create(properties) { + return new TextDetectionConfig(properties); }; /** - * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelSegment.encode = function encode(message, writer) { + TextDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) - $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); return writer; }; /** - * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. + * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { + TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LabelSegment message from the specified reader or buffer. + * Decodes a TextDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelSegment.decode = function decode(reader, length) { + TextDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); break; case 2: - message.confidence = reader.float(); + message.model = reader.string(); break; default: reader.skipType(tag & 7); @@ -29116,122 +29202,129 @@ }; /** - * Decodes a LabelSegment message from the specified reader or buffer, length delimited. + * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelSegment.decodeDelimited = function decodeDelimited(reader) { + TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LabelSegment message. + * Verifies a TextDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LabelSegment.verify = function verify(message) { + TextDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.segment != null && message.hasOwnProperty("segment")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); - if (error) - return "segment." + 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.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; return null; }; /** - * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. + * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment + * @returns {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} TextDetectionConfig */ - LabelSegment.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelSegment) + TextDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); - if (object.segment != null) { - if (typeof object.segment !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelSegment.segment: object expected"); - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + var message = new $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig(); + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); } - if (object.confidence != null) - message.confidence = Number(object.confidence); + if (object.model != null) + message.model = String(object.model); return message; }; /** - * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. + * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.LabelSegment} message LabelSegment + * @param {google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} message TextDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LabelSegment.toObject = function toObject(message, options) { + TextDetectionConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.segment = null; - object.confidence = 0; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) + object.model = ""; + 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.segment != null && message.hasOwnProperty("segment")) - object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; return object; }; /** - * Converts this LabelSegment to JSON. + * Converts this TextDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig * @instance * @returns {Object.} JSON object */ - LabelSegment.prototype.toJSON = function toJSON() { + TextDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LabelSegment; + return TextDetectionConfig; })(); - v1p3beta1.LabelFrame = (function() { + v1p3beta1.VideoSegment = (function() { /** - * Properties of a LabelFrame. + * Properties of a VideoSegment. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ILabelFrame - * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset - * @property {number|null} [confidence] LabelFrame confidence + * @interface IVideoSegment + * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset + * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset */ /** - * Constructs a new LabelFrame. + * Constructs a new VideoSegment. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a LabelFrame. - * @implements ILabelFrame + * @classdesc Represents a VideoSegment. + * @implements IVideoSegment * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set */ - function LabelFrame(properties) { + function VideoSegment(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29239,88 +29332,88 @@ } /** - * LabelFrame timeOffset. - * @member {google.protobuf.IDuration|null|undefined} timeOffset - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * VideoSegment startTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} startTimeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @instance */ - LabelFrame.prototype.timeOffset = null; + VideoSegment.prototype.startTimeOffset = null; /** - * LabelFrame confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * VideoSegment endTimeOffset. + * @member {google.protobuf.IDuration|null|undefined} endTimeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @instance */ - LabelFrame.prototype.confidence = 0; + VideoSegment.prototype.endTimeOffset = null; /** - * Creates a new LabelFrame instance using the specified properties. + * Creates a new VideoSegment instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame instance + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment instance */ - LabelFrame.create = function create(properties) { - return new LabelFrame(properties); + VideoSegment.create = function create(properties) { + return new VideoSegment(properties); }; /** - * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelFrame.encode = function encode(message, writer) { + VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - $root.google.protobuf.Duration.encode(message.timeOffset, 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.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. + * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IVideoSegment} message VideoSegment message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { + VideoSegment.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LabelFrame message from the specified reader or buffer. + * Decodes a VideoSegment message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelFrame.decode = function decode(reader, length) { + VideoSegment.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; case 2: - message.confidence = reader.float(); + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -29331,123 +29424,127 @@ }; /** - * Decodes a LabelFrame message from the specified reader or buffer, length delimited. + * Decodes a VideoSegment message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelFrame.decodeDelimited = function decodeDelimited(reader) { + VideoSegment.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LabelFrame message. + * Verifies a VideoSegment message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LabelFrame.verify = function verify(message) { + VideoSegment.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { - var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.startTimeOffset); if (error) - return "timeOffset." + error; + return "startTimeOffset." + error; + } + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.endTimeOffset); + if (error) + return "endTimeOffset." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; return null; }; /** - * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. + * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame + * @returns {google.cloud.videointelligence.v1p3beta1.VideoSegment} VideoSegment */ - LabelFrame.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelFrame) + VideoSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.VideoSegment) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); - if (object.timeOffset != null) { - if (typeof object.timeOffset !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelFrame.timeOffset: object expected"); - message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + var message = new $root.google.cloud.videointelligence.v1p3beta1.VideoSegment(); + if (object.startTimeOffset != null) { + if (typeof object.startTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.startTimeOffset: object expected"); + message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset); + } + if (object.endTimeOffset != null) { + if (typeof object.endTimeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoSegment.endTimeOffset: object expected"); + message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset); } - if (object.confidence != null) - message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. + * Creates a plain object from a VideoSegment message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.LabelFrame} message LabelFrame + * @param {google.cloud.videointelligence.v1p3beta1.VideoSegment} message VideoSegment * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LabelFrame.toObject = function toObject(message, options) { + VideoSegment.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.timeOffset = null; - object.confidence = 0; + object.startTimeOffset = null; + object.endTimeOffset = null; } - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options); + if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options); return object; }; /** - * Converts this LabelFrame to JSON. + * Converts this VideoSegment to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment * @instance * @returns {Object.} JSON object */ - LabelFrame.prototype.toJSON = function toJSON() { + VideoSegment.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LabelFrame; + return VideoSegment; })(); - v1p3beta1.Entity = (function() { + v1p3beta1.LabelSegment = (function() { /** - * Properties of an Entity. + * Properties of a LabelSegment. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IEntity - * @property {string|null} [entityId] Entity entityId - * @property {string|null} [description] Entity description - * @property {string|null} [languageCode] Entity languageCode + * @interface ILabelSegment + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] LabelSegment segment + * @property {number|null} [confidence] LabelSegment confidence */ /** - * Constructs a new Entity. + * Constructs a new LabelSegment. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents an Entity. - * @implements IEntity + * @classdesc Represents a LabelSegment. + * @implements ILabelSegment * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set */ - function Entity(properties) { + function LabelSegment(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29455,101 +29552,88 @@ } /** - * Entity entityId. - * @member {string} entityId - * @memberof google.cloud.videointelligence.v1p3beta1.Entity - * @instance - */ - Entity.prototype.entityId = ""; - - /** - * Entity description. - * @member {string} description - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * LabelSegment segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @instance */ - Entity.prototype.description = ""; + LabelSegment.prototype.segment = null; /** - * Entity languageCode. - * @member {string} languageCode - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * LabelSegment confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @instance */ - Entity.prototype.languageCode = ""; + LabelSegment.prototype.confidence = 0; /** - * Creates a new Entity instance using the specified properties. + * Creates a new LabelSegment instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity instance + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment instance */ - Entity.create = function create(properties) { - return new Entity(properties); + LabelSegment.create = function create(properties) { + return new LabelSegment(properties); }; /** - * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Entity.encode = function encode(message, writer) { + LabelSegment.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.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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 Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. + * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelSegment} message LabelSegment message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Entity.encodeDelimited = function encodeDelimited(message, writer) { + LabelSegment.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Entity message from the specified reader or buffer. + * Decodes a LabelSegment message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Entity.decode = function decode(reader, length) { + LabelSegment.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.entityId = reader.string(); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); break; case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -29560,130 +29644,122 @@ }; /** - * Decodes an Entity message from the specified reader or buffer, length delimited. + * Decodes a LabelSegment message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Entity.decodeDelimited = function decodeDelimited(reader) { + LabelSegment.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Entity message. + * Verifies a LabelSegment message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Entity.verify = function verify(message) { + LabelSegment.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.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates an Entity message from a plain object. Also converts values to their respective internal types. + * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity + * @returns {google.cloud.videointelligence.v1p3beta1.LabelSegment} LabelSegment */ - Entity.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Entity) + LabelSegment.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelSegment) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); - if (object.entityId != null) - message.entityId = String(object.entityId); - if (object.description != null) - message.description = String(object.description); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelSegment(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelSegment.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from an Entity message. Also converts values to other types if specified. + * Creates a plain object from a LabelSegment message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @static - * @param {google.cloud.videointelligence.v1p3beta1.Entity} message Entity + * @param {google.cloud.videointelligence.v1p3beta1.LabelSegment} message LabelSegment * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Entity.toObject = function toObject(message, options) { + LabelSegment.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.entityId = ""; - object.description = ""; - object.languageCode = ""; + object.segment = null; + object.confidence = 0; } - if (message.entityId != null && message.hasOwnProperty("entityId")) - object.entityId = message.entityId; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this Entity to JSON. + * Converts this LabelSegment to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment * @instance * @returns {Object.} JSON object */ - Entity.prototype.toJSON = function toJSON() { + LabelSegment.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Entity; + return LabelSegment; })(); - v1p3beta1.LabelAnnotation = (function() { + v1p3beta1.LabelFrame = (function() { /** - * Properties of a LabelAnnotation. + * Properties of a LabelFrame. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ILabelAnnotation - * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] LabelAnnotation entity - * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities - * @property {Array.|null} [segments] LabelAnnotation segments - * @property {Array.|null} [frames] LabelAnnotation frames + * @interface ILabelFrame + * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset + * @property {number|null} [confidence] LabelFrame confidence */ /** - * Constructs a new LabelAnnotation. + * Constructs a new LabelFrame. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a LabelAnnotation. - * @implements ILabelAnnotation + * @classdesc Represents a LabelFrame. + * @implements ILabelFrame * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set */ - function LabelAnnotation(properties) { - this.categoryEntities = []; - this.segments = []; - this.frames = []; + function LabelFrame(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29691,123 +29767,88 @@ } /** - * LabelAnnotation entity. - * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation - * @instance - */ - LabelAnnotation.prototype.entity = null; - - /** - * LabelAnnotation categoryEntities. - * @member {Array.} categoryEntities - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation - * @instance - */ - LabelAnnotation.prototype.categoryEntities = $util.emptyArray; - - /** - * LabelAnnotation segments. - * @member {Array.} segments - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * LabelFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @instance */ - LabelAnnotation.prototype.segments = $util.emptyArray; + LabelFrame.prototype.timeOffset = null; /** - * LabelAnnotation frames. - * @member {Array.} frames - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * LabelFrame confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @instance */ - LabelAnnotation.prototype.frames = $util.emptyArray; + LabelFrame.prototype.confidence = 0; /** - * Creates a new LabelAnnotation instance using the specified properties. + * Creates a new LabelFrame instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation instance + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame instance */ - LabelAnnotation.create = function create(properties) { - return new LabelAnnotation(properties); + LabelFrame.create = function create(properties) { + return new LabelFrame(properties); }; /** - * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelAnnotation.encode = function encode(message, writer) { + LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) - $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.categoryEntities != null && message.categoryEntities.length) - for (var i = 0; i < message.categoryEntities.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.segments != null && message.segments.length) - for (var i = 0; i < message.segments.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.frames != null && message.frames.length) - for (var i = 0; i < message.frames.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, 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 LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. + * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelFrame} message LabelFrame message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LabelFrame.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LabelAnnotation message from the specified reader or buffer. + * Decodes a LabelFrame message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelAnnotation.decode = function decode(reader, length) { + LabelFrame.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p3beta1.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.LabelFrame.decode(reader, reader.uint32())); + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -29818,190 +29859,123 @@ }; /** - * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LabelFrame message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { + LabelFrame.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LabelAnnotation message. + * Verifies a LabelFrame message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LabelAnnotation.verify = function verify(message) { + LabelFrame.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.entity != null && message.hasOwnProperty("entity")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); if (error) - return "entity." + error; - } - if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { - if (!Array.isArray(message.categoryEntities)) - return "categoryEntities: array expected"; - for (var i = 0; i < message.categoryEntities.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.categoryEntities[i]); - if (error) - return "categoryEntities." + error; - } - } - if (message.segments != null && message.hasOwnProperty("segments")) { - if (!Array.isArray(message.segments)) - return "segments: array expected"; - for (var i = 0; i < message.segments.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.verify(message.segments[i]); - if (error) - return "segments." + error; - } - } - if (message.frames != null && message.hasOwnProperty("frames")) { - if (!Array.isArray(message.frames)) - return "frames: array expected"; - for (var i = 0; i < message.frames.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.verify(message.frames[i]); - if (error) - return "frames." + error; - } + return "timeOffset." + error; } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelFrame} LabelFrame */ - LabelAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation) + LabelFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelFrame) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); - if (object.entity != null) { - if (typeof object.entity !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.entity: object expected"); - message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.entity); - } - if (object.categoryEntities) { - if (!Array.isArray(object.categoryEntities)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: array expected"); - message.categoryEntities = []; - for (var i = 0; i < object.categoryEntities.length; ++i) { - if (typeof object.categoryEntities[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: object expected"); - message.categoryEntities[i] = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.categoryEntities[i]); - } - } - if (object.segments) { - if (!Array.isArray(object.segments)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: array expected"); - message.segments = []; - for (var i = 0; i < object.segments.length; ++i) { - if (typeof object.segments[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: object expected"); - message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.fromObject(object.segments[i]); - } - } - if (object.frames) { - if (!Array.isArray(object.frames)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: array expected"); - message.frames = []; - for (var i = 0; i < object.frames.length; ++i) { - if (typeof object.frames[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: object expected"); - message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.fromObject(object.frames[i]); - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LabelFrame message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} message LabelAnnotation + * @param {google.cloud.videointelligence.v1p3beta1.LabelFrame} message LabelFrame * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LabelAnnotation.toObject = function toObject(message, options) { + LabelFrame.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.categoryEntities = []; - object.segments = []; - object.frames = []; - } - if (options.defaults) - object.entity = null; - if (message.entity != null && message.hasOwnProperty("entity")) - object.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.entity, options); - if (message.categoryEntities && message.categoryEntities.length) { - object.categoryEntities = []; - for (var j = 0; j < message.categoryEntities.length; ++j) - object.categoryEntities[j] = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.categoryEntities[j], options); - } - if (message.segments && message.segments.length) { - object.segments = []; - for (var j = 0; j < message.segments.length; ++j) - object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.toObject(message.segments[j], options); - } - if (message.frames && message.frames.length) { - object.frames = []; - for (var j = 0; j < message.frames.length; ++j) - object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.toObject(message.frames[j], options); + if (options.defaults) { + object.timeOffset = null; + object.confidence = 0; } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this LabelAnnotation to JSON. + * Converts this LabelFrame to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame * @instance * @returns {Object.} JSON object */ - LabelAnnotation.prototype.toJSON = function toJSON() { + LabelFrame.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LabelAnnotation; + return LabelFrame; })(); - v1p3beta1.ExplicitContentFrame = (function() { + v1p3beta1.Entity = (function() { /** - * Properties of an ExplicitContentFrame. + * Properties of an Entity. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IExplicitContentFrame - * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset - * @property {google.cloud.videointelligence.v1p3beta1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood + * @interface IEntity + * @property {string|null} [entityId] Entity entityId + * @property {string|null} [description] Entity description + * @property {string|null} [languageCode] Entity languageCode */ /** - * Constructs a new ExplicitContentFrame. + * Constructs a new Entity. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents an ExplicitContentFrame. - * @implements IExplicitContentFrame + * @classdesc Represents an Entity. + * @implements IEntity * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set */ - function ExplicitContentFrame(properties) { + function Entity(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30009,88 +29983,101 @@ } /** - * ExplicitContentFrame timeOffset. - * @member {google.protobuf.IDuration|null|undefined} timeOffset - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * Entity entityId. + * @member {string} entityId + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @instance */ - ExplicitContentFrame.prototype.timeOffset = null; + Entity.prototype.entityId = ""; /** - * ExplicitContentFrame pornographyLikelihood. - * @member {google.cloud.videointelligence.v1p3beta1.Likelihood} pornographyLikelihood - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * Entity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @instance */ - ExplicitContentFrame.prototype.pornographyLikelihood = 0; + Entity.prototype.description = ""; /** - * Creates a new ExplicitContentFrame instance using the specified properties. + * Entity languageCode. + * @member {string} languageCode + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @instance + */ + Entity.prototype.languageCode = ""; + + /** + * Creates a new Entity instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame instance + * @param {google.cloud.videointelligence.v1p3beta1.IEntity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity instance */ - ExplicitContentFrame.create = function create(properties) { - return new ExplicitContentFrame(properties); + Entity.create = function create(properties) { + return new Entity(properties); }; /** - * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentFrame.encode = function encode(message, writer) { + Entity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; /** - * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. + * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IEntity} message Entity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { + Entity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ExplicitContentFrame message from the specified reader or buffer. + * Decodes an Entity message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentFrame.decode = function decode(reader, length) { + Entity.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.entityId = reader.string(); break; case 2: - message.pornographyLikelihood = reader.int32(); + message.description = reader.string(); + break; + case 3: + message.languageCode = reader.string(); break; default: reader.skipType(tag & 7); @@ -30101,154 +30088,129 @@ }; /** - * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. + * Decodes an Entity message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { + Entity.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ExplicitContentFrame message. + * Verifies an Entity message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExplicitContentFrame.verify = function verify(message) { + Entity.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { - var error = $root.google.protobuf.Duration.verify(message.timeOffset); - if (error) - return "timeOffset." + error; - } - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - switch (message.pornographyLikelihood) { - default: - return "pornographyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; return null; }; /** - * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. + * Creates an Entity message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame + * @returns {google.cloud.videointelligence.v1p3beta1.Entity} Entity */ - ExplicitContentFrame.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame) + Entity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Entity) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); - if (object.timeOffset != null) { - if (typeof object.timeOffset !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.timeOffset: object expected"); - message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); - } - switch (object.pornographyLikelihood) { - case "LIKELIHOOD_UNSPECIFIED": - case 0: - message.pornographyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.pornographyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.pornographyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.pornographyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.pornographyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.pornographyLikelihood = 5; - break; - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.Entity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.description != null) + message.description = String(object.description); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); return message; }; /** - * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. + * Creates a plain object from an Entity message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @static - * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} message ExplicitContentFrame + * @param {google.cloud.videointelligence.v1p3beta1.Entity} message Entity * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ExplicitContentFrame.toObject = function toObject(message, options) { + Entity.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.timeOffset = null; - object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; + object.entityId = ""; + object.description = ""; + object.languageCode = ""; } - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; return object; }; /** - * Converts this ExplicitContentFrame to JSON. + * Converts this Entity to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @memberof google.cloud.videointelligence.v1p3beta1.Entity * @instance * @returns {Object.} JSON object */ - ExplicitContentFrame.prototype.toJSON = function toJSON() { + Entity.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ExplicitContentFrame; + return Entity; })(); - v1p3beta1.ExplicitContentAnnotation = (function() { + v1p3beta1.LabelAnnotation = (function() { /** - * Properties of an ExplicitContentAnnotation. + * Properties of a LabelAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IExplicitContentAnnotation - * @property {Array.|null} [frames] ExplicitContentAnnotation frames + * @interface ILabelAnnotation + * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] LabelAnnotation entity + * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities + * @property {Array.|null} [segments] LabelAnnotation segments + * @property {Array.|null} [frames] LabelAnnotation frames */ /** - * Constructs a new ExplicitContentAnnotation. + * Constructs a new LabelAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents an ExplicitContentAnnotation. - * @implements IExplicitContentAnnotation + * @classdesc Represents a LabelAnnotation. + * @implements ILabelAnnotation * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set */ - function ExplicitContentAnnotation(properties) { + function LabelAnnotation(properties) { + this.categoryEntities = []; + this.segments = []; this.frames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -30257,78 +30219,123 @@ } /** - * ExplicitContentAnnotation frames. - * @member {Array.} frames - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * LabelAnnotation entity. + * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @instance */ - ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + LabelAnnotation.prototype.entity = null; /** - * Creates a new ExplicitContentAnnotation instance using the specified properties. + * LabelAnnotation categoryEntities. + * @member {Array.} categoryEntities + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.categoryEntities = $util.emptyArray; + + /** + * LabelAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.segments = $util.emptyArray; + + /** + * LabelAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + */ + LabelAnnotation.prototype.frames = $util.emptyArray; + + /** + * Creates a new LabelAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation instance + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation instance */ - ExplicitContentAnnotation.create = function create(properties) { - return new ExplicitContentAnnotation(properties); + LabelAnnotation.create = function create(properties) { + return new LabelAnnotation(properties); }; /** - * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentAnnotation.encode = function encode(message, writer) { + LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.categoryEntities != null && message.categoryEntities.length) + for (var i = 0; i < message.categoryEntities.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. + * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ILabelAnnotation} message LabelAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. + * Decodes a LabelAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentAnnotation.decode = function decode(reader, length) { + LabelAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.LabelSegment.decode(reader, reader.uint32())); + break; + case 4: if (!(message.frames && message.frames.length)) message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.LabelFrame.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -30339,37 +30346,60 @@ }; /** - * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { + LabelAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ExplicitContentAnnotation message. + * Verifies a LabelAnnotation message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExplicitContentAnnotation.verify = function verify(message) { + LabelAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) { + if (!Array.isArray(message.categoryEntities)) + return "categoryEntities: array expected"; + for (var i = 0; i < message.categoryEntities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.categoryEntities[i]); + if (error) + return "categoryEntities." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } if (message.frames != null && message.hasOwnProperty("frames")) { if (!Array.isArray(message.frames)) return "frames: array expected"; for (var i = 0; i < message.frames.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify(message.frames[i]); + var error = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.verify(message.frames[i]); if (error) return "frames." + error; } @@ -30378,88 +30408,128 @@ }; /** - * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} LabelAnnotation */ - ExplicitContentAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation) + LabelAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); + var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.entity); + } + if (object.categoryEntities) { + if (!Array.isArray(object.categoryEntities)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: array expected"); + message.categoryEntities = []; + for (var i = 0; i < object.categoryEntities.length; ++i) { + if (typeof object.categoryEntities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.categoryEntities: object expected"); + message.categoryEntities[i] = $root.google.cloud.videointelligence.v1p3beta1.Entity.fromObject(object.categoryEntities[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.fromObject(object.segments[i]); + } + } if (object.frames) { if (!Array.isArray(object.frames)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: array expected"); + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: array expected"); message.frames = []; for (var i = 0; i < object.frames.length; ++i) { if (typeof object.frames[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: object expected"); - message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.fromObject(object.frames[i]); + throw TypeError(".google.cloud.videointelligence.v1p3beta1.LabelAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.fromObject(object.frames[i]); } } return message; }; /** - * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} message ExplicitContentAnnotation + * @param {google.cloud.videointelligence.v1p3beta1.LabelAnnotation} message LabelAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ExplicitContentAnnotation.toObject = function toObject(message, options) { + LabelAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.frames = []; - if (message.frames && message.frames.length) { + if (options.arrays || options.defaults) { + object.categoryEntities = []; + object.segments = []; object.frames = []; - for (var j = 0; j < message.frames.length; ++j) - object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.toObject(message.frames[j], options); } - return object; - }; - - /** - * Converts this ExplicitContentAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation - * @instance - * @returns {Object.} JSON object + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.entity, options); + if (message.categoryEntities && message.categoryEntities.length) { + object.categoryEntities = []; + for (var j = 0; j < message.categoryEntities.length; ++j) + object.categoryEntities[j] = $root.google.cloud.videointelligence.v1p3beta1.Entity.toObject(message.categoryEntities[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelSegment.toObject(message.segments[j], options); + } + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.LabelFrame.toObject(message.frames[j], options); + } + return object; + }; + + /** + * Converts this LabelAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @instance + * @returns {Object.} JSON object */ - ExplicitContentAnnotation.prototype.toJSON = function toJSON() { + LabelAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ExplicitContentAnnotation; + return LabelAnnotation; })(); - v1p3beta1.NormalizedBoundingBox = (function() { + v1p3beta1.ExplicitContentFrame = (function() { /** - * Properties of a NormalizedBoundingBox. + * Properties of an ExplicitContentFrame. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface INormalizedBoundingBox - * @property {number|null} [left] NormalizedBoundingBox left - * @property {number|null} [top] NormalizedBoundingBox top - * @property {number|null} [right] NormalizedBoundingBox right - * @property {number|null} [bottom] NormalizedBoundingBox bottom + * @interface IExplicitContentFrame + * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset + * @property {google.cloud.videointelligence.v1p3beta1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood */ /** - * Constructs a new NormalizedBoundingBox. + * Constructs a new ExplicitContentFrame. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a NormalizedBoundingBox. - * @implements INormalizedBoundingBox + * @classdesc Represents an ExplicitContentFrame. + * @implements IExplicitContentFrame * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set */ - function NormalizedBoundingBox(properties) { + function ExplicitContentFrame(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30467,114 +30537,88 @@ } /** - * NormalizedBoundingBox left. - * @member {number} left - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox - * @instance - */ - NormalizedBoundingBox.prototype.left = 0; - - /** - * NormalizedBoundingBox top. - * @member {number} top - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox - * @instance - */ - NormalizedBoundingBox.prototype.top = 0; - - /** - * NormalizedBoundingBox right. - * @member {number} right - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * ExplicitContentFrame timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @instance */ - NormalizedBoundingBox.prototype.right = 0; + ExplicitContentFrame.prototype.timeOffset = null; /** - * NormalizedBoundingBox bottom. - * @member {number} bottom - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * ExplicitContentFrame pornographyLikelihood. + * @member {google.cloud.videointelligence.v1p3beta1.Likelihood} pornographyLikelihood + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @instance */ - NormalizedBoundingBox.prototype.bottom = 0; + ExplicitContentFrame.prototype.pornographyLikelihood = 0; /** - * Creates a new NormalizedBoundingBox instance using the specified properties. + * Creates a new ExplicitContentFrame instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox instance + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame instance */ - NormalizedBoundingBox.create = function create(properties) { - return new NormalizedBoundingBox(properties); + ExplicitContentFrame.create = function create(properties) { + return new ExplicitContentFrame(properties); }; /** - * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingBox.encode = function encode(message, writer) { + ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && message.hasOwnProperty("top")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && message.hasOwnProperty("right")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; /** - * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. + * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * Decodes an ExplicitContentFrame message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingBox.decode = function decode(reader, length) { + ExplicitContentFrame.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.left = reader.float(); + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); + message.pornographyLikelihood = reader.int32(); break; default: reader.skipType(tag & 7); @@ -30585,135 +30629,155 @@ }; /** - * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedBoundingBox message. + * Verifies an ExplicitContentFrame message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedBoundingBox.verify = function verify(message) { + ExplicitContentFrame.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.left != null && message.hasOwnProperty("left")) - if (typeof message.left !== "number") - return "left: number expected"; - if (message.top != null && message.hasOwnProperty("top")) - if (typeof message.top !== "number") - return "top: number expected"; - if (message.right != null && message.hasOwnProperty("right")) - if (typeof message.right !== "number") - return "right: number expected"; - if (message.bottom != null && message.hasOwnProperty("bottom")) - if (typeof message.bottom !== "number") - return "bottom: number expected"; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + switch (message.pornographyLikelihood) { + default: + return "pornographyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; /** - * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} ExplicitContentFrame */ - NormalizedBoundingBox.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox) + ExplicitContentFrame.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); - if (object.left != null) - message.left = Number(object.left); - if (object.top != null) - message.top = Number(object.top); - if (object.right != null) - message.right = Number(object.right); - if (object.bottom != null) - message.bottom = Number(object.bottom); + var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame(); + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + switch (object.pornographyLikelihood) { + case "LIKELIHOOD_UNSPECIFIED": + case 0: + message.pornographyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.pornographyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.pornographyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.pornographyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.pornographyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.pornographyLikelihood = 5; + break; + } return message; }; /** - * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @static - * @param {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} message ExplicitContentFrame * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedBoundingBox.toObject = function toObject(message, options) { + ExplicitContentFrame.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.left = 0; - object.top = 0; - object.right = 0; - object.bottom = 0; + object.timeOffset = null; + object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0; } - if (message.left != null && message.hasOwnProperty("left")) - object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; - if (message.top != null && message.hasOwnProperty("top")) - object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; - if (message.right != null && message.hasOwnProperty("right")) - object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; - if (message.bottom != null && message.hasOwnProperty("bottom")) - object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; /** - * Converts this NormalizedBoundingBox to JSON. + * Converts this ExplicitContentFrame to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame * @instance * @returns {Object.} JSON object */ - NormalizedBoundingBox.prototype.toJSON = function toJSON() { + ExplicitContentFrame.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedBoundingBox; + return ExplicitContentFrame; })(); - v1p3beta1.TimestampedObject = (function() { + v1p3beta1.ExplicitContentAnnotation = (function() { /** - * Properties of a TimestampedObject. + * Properties of an ExplicitContentAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ITimestampedObject - * @property {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null} [normalizedBoundingBox] TimestampedObject normalizedBoundingBox - * @property {google.protobuf.IDuration|null} [timeOffset] TimestampedObject timeOffset - * @property {Array.|null} [attributes] TimestampedObject attributes + * @interface IExplicitContentAnnotation + * @property {Array.|null} [frames] ExplicitContentAnnotation frames */ /** - * Constructs a new TimestampedObject. + * Constructs a new ExplicitContentAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a TimestampedObject. - * @implements ITimestampedObject + * @classdesc Represents an ExplicitContentAnnotation. + * @implements IExplicitContentAnnotation * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set */ - function TimestampedObject(properties) { - this.attributes = []; + function ExplicitContentAnnotation(properties) { + this.frames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30721,104 +30785,78 @@ } /** - * TimestampedObject normalizedBoundingBox. - * @member {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject - * @instance - */ - TimestampedObject.prototype.normalizedBoundingBox = null; - - /** - * TimestampedObject timeOffset. - * @member {google.protobuf.IDuration|null|undefined} timeOffset - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject - * @instance - */ - TimestampedObject.prototype.timeOffset = null; - - /** - * TimestampedObject attributes. - * @member {Array.} attributes - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * ExplicitContentAnnotation frames. + * @member {Array.} frames + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @instance */ - TimestampedObject.prototype.attributes = $util.emptyArray; + ExplicitContentAnnotation.prototype.frames = $util.emptyArray; /** - * Creates a new TimestampedObject instance using the specified properties. + * Creates a new ExplicitContentAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject instance + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation instance */ - TimestampedObject.create = function create(properties) { - return new TimestampedObject(properties); + ExplicitContentAnnotation.create = function create(properties) { + return new ExplicitContentAnnotation(properties); }; /** - * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TimestampedObject.encode = function encode(message, writer) { + ExplicitContentAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) - $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.attributes != null && message.attributes.length) - for (var i = 0; i < message.attributes.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frames != null && message.frames.length) + for (var i = 0; i < message.frames.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. + * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TimestampedObject.encodeDelimited = function encodeDelimited(message, writer) { + ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TimestampedObject message from the specified reader or buffer. + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TimestampedObject.decode = function decode(reader, length) { + ExplicitContentAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -30829,157 +30867,127 @@ }; /** - * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. + * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TimestampedObject.decodeDelimited = function decodeDelimited(reader) { + ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TimestampedObject message. + * Verifies an ExplicitContentAnnotation message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TimestampedObject.verify = function verify(message) { + ExplicitContentAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); - if (error) - return "normalizedBoundingBox." + error; - } - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { - var error = $root.google.protobuf.Duration.verify(message.timeOffset); - if (error) - return "timeOffset." + error; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) { - if (!Array.isArray(message.attributes)) - return "attributes: array expected"; - for (var i = 0; i < message.attributes.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); + if (message.frames != null && message.hasOwnProperty("frames")) { + if (!Array.isArray(message.frames)) + return "frames: array expected"; + for (var i = 0; i < message.frames.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify(message.frames[i]); if (error) - return "attributes." + error; + return "frames." + error; } } return null; }; /** - * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. + * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject + * @returns {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} ExplicitContentAnnotation */ - TimestampedObject.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject) + ExplicitContentAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); - if (object.normalizedBoundingBox != null) { - if (typeof object.normalizedBoundingBox !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.normalizedBoundingBox: object expected"); - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); - } - if (object.timeOffset != null) { - if (typeof object.timeOffset !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.timeOffset: object expected"); - message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); - } - if (object.attributes) { - if (!Array.isArray(object.attributes)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: array expected"); - message.attributes = []; - for (var i = 0; i < object.attributes.length; ++i) { - if (typeof object.attributes[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: object expected"); - message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); + var message = new $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation(); + if (object.frames) { + if (!Array.isArray(object.frames)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: array expected"); + message.frames = []; + for (var i = 0; i < object.frames.length; ++i) { + if (typeof object.frames[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.frames: object expected"); + message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.fromObject(object.frames[i]); } } return message; }; /** - * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. + * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.TimestampedObject} message TimestampedObject + * @param {google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} message ExplicitContentAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TimestampedObject.toObject = function toObject(message, options) { + ExplicitContentAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.attributes = []; - if (options.defaults) { - object.normalizedBoundingBox = null; - object.timeOffset = null; - } - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) - object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) - object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); - if (message.attributes && message.attributes.length) { - object.attributes = []; - for (var j = 0; j < message.attributes.length; ++j) - object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[j], options); + object.frames = []; + if (message.frames && message.frames.length) { + object.frames = []; + for (var j = 0; j < message.frames.length; ++j) + object.frames[j] = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.toObject(message.frames[j], options); } return object; }; /** - * Converts this TimestampedObject to JSON. + * Converts this ExplicitContentAnnotation to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation * @instance * @returns {Object.} JSON object */ - TimestampedObject.prototype.toJSON = function toJSON() { + ExplicitContentAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TimestampedObject; + return ExplicitContentAnnotation; })(); - v1p3beta1.Track = (function() { + v1p3beta1.NormalizedBoundingBox = (function() { /** - * Properties of a Track. + * Properties of a NormalizedBoundingBox. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ITrack - * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] Track segment - * @property {Array.|null} [timestampedObjects] Track timestampedObjects - * @property {Array.|null} [attributes] Track attributes - * @property {number|null} [confidence] Track confidence + * @interface INormalizedBoundingBox + * @property {number|null} [left] NormalizedBoundingBox left + * @property {number|null} [top] NormalizedBoundingBox top + * @property {number|null} [right] NormalizedBoundingBox right + * @property {number|null} [bottom] NormalizedBoundingBox bottom */ /** - * Constructs a new Track. + * Constructs a new NormalizedBoundingBox. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a Track. - * @implements ITrack + * @classdesc Represents a NormalizedBoundingBox. + * @implements INormalizedBoundingBox * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set */ - function Track(properties) { - this.timestampedObjects = []; - this.attributes = []; + function NormalizedBoundingBox(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30987,120 +30995,114 @@ } /** - * Track segment. - * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @instance */ - Track.prototype.segment = null; + NormalizedBoundingBox.prototype.left = 0; /** - * Track timestampedObjects. - * @member {Array.} timestampedObjects - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @instance */ - Track.prototype.timestampedObjects = $util.emptyArray; + NormalizedBoundingBox.prototype.top = 0; /** - * Track attributes. - * @member {Array.} attributes - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @instance */ - Track.prototype.attributes = $util.emptyArray; + NormalizedBoundingBox.prototype.right = 0; /** - * Track confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @instance */ - Track.prototype.confidence = 0; + NormalizedBoundingBox.prototype.bottom = 0; /** - * Creates a new Track instance using the specified properties. + * Creates a new NormalizedBoundingBox instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track instance + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox instance */ - Track.create = function create(properties) { - return new Track(properties); + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); }; /** - * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Track.encode = function encode(message, writer) { + NormalizedBoundingBox.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) - $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timestampedObjects != null && message.timestampedObjects.length) - for (var i = 0; i < message.timestampedObjects.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.encode(message.timestampedObjects[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.attributes != null && message.attributes.length) - for (var i = 0; i < message.attributes.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[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); + if (message.left != null && message.hasOwnProperty("left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && message.hasOwnProperty("top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && message.hasOwnProperty("right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && message.hasOwnProperty("bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); return writer; }; /** - * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static - * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Track.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Track message from the specified reader or buffer. + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Track.decode = function decode(reader, length) { + NormalizedBoundingBox.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Track(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + message.left = reader.float(); break; case 2: - if (!(message.timestampedObjects && message.timestampedObjects.length)) - message.timestampedObjects = []; - message.timestampedObjects.push($root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.decode(reader, reader.uint32())); + message.top = reader.float(); break; case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + message.right = reader.float(); break; case 4: - message.confidence = reader.float(); + message.bottom = reader.float(); break; default: reader.skipType(tag & 7); @@ -31111,175 +31113,137 @@ }; /** - * Decodes a Track message from the specified reader or buffer, length delimited. + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Track.decodeDelimited = function decodeDelimited(reader) { + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Track message. + * Verifies a NormalizedBoundingBox message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Track.verify = function verify(message) { + NormalizedBoundingBox.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.segment != null && message.hasOwnProperty("segment")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); - if (error) - return "segment." + error; - } - if (message.timestampedObjects != null && message.hasOwnProperty("timestampedObjects")) { - if (!Array.isArray(message.timestampedObjects)) - return "timestampedObjects: array expected"; - for (var i = 0; i < message.timestampedObjects.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify(message.timestampedObjects[i]); - if (error) - return "timestampedObjects." + error; - } - } - if (message.attributes != null && message.hasOwnProperty("attributes")) { - if (!Array.isArray(message.attributes)) - return "attributes: array expected"; - for (var i = 0; i < message.attributes.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); - if (error) - return "attributes." + error; - } - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; return null; }; /** - * Creates a Track message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track + * @returns {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} NormalizedBoundingBox */ - Track.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Track) + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.Track(); - if (object.segment != null) { - if (typeof object.segment !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.segment: object expected"); - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); - } - if (object.timestampedObjects) { - if (!Array.isArray(object.timestampedObjects)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: array expected"); - message.timestampedObjects = []; - for (var i = 0; i < object.timestampedObjects.length; ++i) { - if (typeof object.timestampedObjects[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: object expected"); - message.timestampedObjects[i] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.fromObject(object.timestampedObjects[i]); - } - } - if (object.attributes) { - if (!Array.isArray(object.attributes)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: array expected"); - message.attributes = []; - for (var i = 0; i < object.attributes.length; ++i) { - if (typeof object.attributes[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: object expected"); - message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); - } - } - if (object.confidence != null) - message.confidence = Number(object.confidence); + var message = new $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); return message; }; /** - * Creates a plain object from a Track message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @static - * @param {google.cloud.videointelligence.v1p3beta1.Track} message Track + * @param {google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} message NormalizedBoundingBox * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Track.toObject = function toObject(message, options) { + NormalizedBoundingBox.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.timestampedObjects = []; - object.attributes = []; - } if (options.defaults) { - object.segment = null; - object.confidence = 0; - } - if (message.segment != null && message.hasOwnProperty("segment")) - object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); - if (message.timestampedObjects && message.timestampedObjects.length) { - object.timestampedObjects = []; - for (var j = 0; j < message.timestampedObjects.length; ++j) - object.timestampedObjects[j] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.toObject(message.timestampedObjects[j], options); - } - if (message.attributes && message.attributes.length) { - object.attributes = []; - for (var j = 0; j < message.attributes.length; ++j) - object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[j], options); + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; return object; }; /** - * Converts this Track to JSON. + * Converts this NormalizedBoundingBox to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox * @instance * @returns {Object.} JSON object */ - Track.prototype.toJSON = function toJSON() { + NormalizedBoundingBox.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Track; + return NormalizedBoundingBox; })(); - v1p3beta1.DetectedAttribute = (function() { + v1p3beta1.TimestampedObject = (function() { /** - * Properties of a DetectedAttribute. + * Properties of a TimestampedObject. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IDetectedAttribute - * @property {string|null} [name] DetectedAttribute name - * @property {number|null} [confidence] DetectedAttribute confidence - * @property {string|null} [value] DetectedAttribute value + * @interface ITimestampedObject + * @property {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null} [normalizedBoundingBox] TimestampedObject normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TimestampedObject timeOffset + * @property {Array.|null} [attributes] TimestampedObject attributes + * @property {Array.|null} [landmarks] TimestampedObject landmarks */ /** - * Constructs a new DetectedAttribute. + * Constructs a new TimestampedObject. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a DetectedAttribute. - * @implements IDetectedAttribute + * @classdesc Represents a TimestampedObject. + * @implements ITimestampedObject * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set */ - function DetectedAttribute(properties) { + function TimestampedObject(properties) { + this.attributes = []; + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31287,101 +31251,120 @@ } /** - * DetectedAttribute name. - * @member {string} name - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * TimestampedObject normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @instance */ - DetectedAttribute.prototype.name = ""; + TimestampedObject.prototype.normalizedBoundingBox = null; /** - * DetectedAttribute confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * TimestampedObject timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @instance */ - DetectedAttribute.prototype.confidence = 0; + TimestampedObject.prototype.timeOffset = null; /** - * DetectedAttribute value. - * @member {string} value - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * TimestampedObject attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @instance */ - DetectedAttribute.prototype.value = ""; + TimestampedObject.prototype.attributes = $util.emptyArray; /** - * Creates a new DetectedAttribute instance using the specified properties. + * TimestampedObject landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @instance + */ + TimestampedObject.prototype.landmarks = $util.emptyArray; + + /** + * Creates a new TimestampedObject instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute instance + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject instance */ - DetectedAttribute.create = function create(properties) { - return new DetectedAttribute(properties); + TimestampedObject.create = function create(properties) { + return new TimestampedObject(properties); }; /** - * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DetectedAttribute.encode = function encode(message, writer) { + TimestampedObject.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.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.encode(message.landmarks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. + * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITimestampedObject} message TimestampedObject message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DetectedAttribute.encodeDelimited = function encodeDelimited(message, writer) { + TimestampedObject.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DetectedAttribute message from the specified reader or buffer. + * Decodes a TimestampedObject message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DetectedAttribute.decode = function decode(reader, length) { + TimestampedObject.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); break; case 2: - message.confidence = reader.float(); + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; case 3: - message.value = reader.string(); + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -31392,126 +31375,183 @@ }; /** - * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. + * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DetectedAttribute.decodeDelimited = function decodeDelimited(reader) { + TimestampedObject.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DetectedAttribute message. + * Verifies a TimestampedObject message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DetectedAttribute.verify = function verify(message) { + TimestampedObject.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.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + 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.videointelligence.v1p3beta1.DetectedLandmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } return null; }; /** - * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. + * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute + * @returns {google.cloud.videointelligence.v1p3beta1.TimestampedObject} TimestampedObject */ - DetectedAttribute.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute) + TimestampedObject.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); - if (object.name != null) - message.name = String(object.name); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.value != null) - message.value = String(object.value); + var message = new $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.TimestampedObject.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.fromObject(object.landmarks[i]); + } + } return message; }; /** - * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. + * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} message DetectedAttribute + * @param {google.cloud.videointelligence.v1p3beta1.TimestampedObject} message TimestampedObject * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DetectedAttribute.toObject = function toObject(message, options) { + TimestampedObject.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.attributes = []; + object.landmarks = []; + } if (options.defaults) { - object.name = ""; - object.confidence = 0; - object.value = ""; + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[j], options); + } + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.toObject(message.landmarks[j], options); } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; return object; }; /** - * Converts this DetectedAttribute to JSON. + * Converts this TimestampedObject to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject * @instance * @returns {Object.} JSON object */ - DetectedAttribute.prototype.toJSON = function toJSON() { + TimestampedObject.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DetectedAttribute; + return TimestampedObject; })(); - v1p3beta1.Celebrity = (function() { + v1p3beta1.Track = (function() { /** - * Properties of a Celebrity. + * Properties of a Track. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ICelebrity - * @property {string|null} [name] Celebrity name - * @property {string|null} [displayName] Celebrity displayName - * @property {string|null} [description] Celebrity description + * @interface ITrack + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] Track segment + * @property {Array.|null} [timestampedObjects] Track timestampedObjects + * @property {Array.|null} [attributes] Track attributes + * @property {number|null} [confidence] Track confidence */ /** - * Constructs a new Celebrity. + * Constructs a new Track. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a Celebrity. - * @implements ICelebrity + * @classdesc Represents a Track. + * @implements ITrack * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set */ - function Celebrity(properties) { + function Track(properties) { + this.timestampedObjects = []; + this.attributes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31519,101 +31559,120 @@ } /** - * Celebrity name. - * @member {string} name - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * Track segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @instance */ - Celebrity.prototype.name = ""; + Track.prototype.segment = null; /** - * Celebrity displayName. - * @member {string} displayName - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * Track timestampedObjects. + * @member {Array.} timestampedObjects + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @instance */ - Celebrity.prototype.displayName = ""; + Track.prototype.timestampedObjects = $util.emptyArray; /** - * Celebrity description. - * @member {string} description - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * Track attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @instance */ - Celebrity.prototype.description = ""; + Track.prototype.attributes = $util.emptyArray; /** - * Creates a new Celebrity instance using the specified properties. + * Track confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @instance + */ + Track.prototype.confidence = 0; + + /** + * Creates a new Track instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity instance + * @param {google.cloud.videointelligence.v1p3beta1.ITrack=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track instance */ - Celebrity.create = function create(properties) { - return new Celebrity(properties); + Track.create = function create(properties) { + return new Track(properties); }; /** - * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. + * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Celebrity.encode = function encode(message, writer) { + Track.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.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timestampedObjects != null && message.timestampedObjects.length) + for (var i = 0; i < message.timestampedObjects.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.encode(message.timestampedObjects[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[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 Celebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. + * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.ITrack} message Track message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Celebrity.encodeDelimited = function encodeDelimited(message, writer) { + Track.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Celebrity message from the specified reader or buffer. + * Decodes a Track message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track * @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) { + Track.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Celebrity(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.Track(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); break; case 2: - message.displayName = reader.string(); + if (!(message.timestampedObjects && message.timestampedObjects.length)) + message.timestampedObjects = []; + message.timestampedObjects.push($root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.decode(reader, reader.uint32())); break; case 3: - message.description = reader.string(); + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -31624,126 +31683,175 @@ }; /** - * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * Decodes a Track message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track * @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) { + Track.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Celebrity message. + * Verifies a Track message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @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) { + Track.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.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.timestampedObjects != null && message.hasOwnProperty("timestampedObjects")) { + if (!Array.isArray(message.timestampedObjects)) + return "timestampedObjects: array expected"; + for (var i = 0; i < message.timestampedObjects.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify(message.timestampedObjects[i]); + if (error) + return "timestampedObjects." + error; + } + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * Creates a Track message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + * @returns {google.cloud.videointelligence.v1p3beta1.Track} Track */ - Celebrity.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Celebrity) + Track.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Track) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.Track(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.timestampedObjects) { + if (!Array.isArray(object.timestampedObjects)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: array expected"); + message.timestampedObjects = []; + for (var i = 0; i < object.timestampedObjects.length; ++i) { + if (typeof object.timestampedObjects[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.timestampedObjects: object expected"); + message.timestampedObjects[i] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.fromObject(object.timestampedObjects[i]); + } + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.Track.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a Celebrity message. Also converts values to other types if specified. + * Creates a plain object from a Track message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @static - * @param {google.cloud.videointelligence.v1p3beta1.Celebrity} message Celebrity + * @param {google.cloud.videointelligence.v1p3beta1.Track} message Track * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Celebrity.toObject = function toObject(message, options) { + Track.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.timestampedObjects = []; + object.attributes = []; + } if (options.defaults) { - object.name = ""; - object.displayName = ""; - object.description = ""; + object.segment = null; + object.confidence = 0; } - 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.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); + if (message.timestampedObjects && message.timestampedObjects.length) { + object.timestampedObjects = []; + for (var j = 0; j < message.timestampedObjects.length; ++j) + object.timestampedObjects[j] = $root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.toObject(message.timestampedObjects[j], options); + } + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.toObject(message.attributes[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 Celebrity to JSON. + * Converts this Track to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.Track * @instance * @returns {Object.} JSON object */ - Celebrity.prototype.toJSON = function toJSON() { + Track.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Celebrity; + return Track; })(); - v1p3beta1.CelebrityTrack = (function() { + v1p3beta1.DetectedAttribute = (function() { /** - * Properties of a CelebrityTrack. + * Properties of a DetectedAttribute. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ICelebrityTrack - * @property {Array.|null} [celebrities] CelebrityTrack celebrities - * @property {google.cloud.videointelligence.v1p3beta1.ITrack|null} [faceTrack] CelebrityTrack faceTrack + * @interface IDetectedAttribute + * @property {string|null} [name] DetectedAttribute name + * @property {number|null} [confidence] DetectedAttribute confidence + * @property {string|null} [value] DetectedAttribute value */ /** - * Constructs a new CelebrityTrack. + * Constructs a new DetectedAttribute. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a CelebrityTrack. - * @implements ICelebrityTrack + * @classdesc Represents a DetectedAttribute. + * @implements IDetectedAttribute * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set */ - function CelebrityTrack(properties) { - this.celebrities = []; + function DetectedAttribute(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31751,91 +31859,101 @@ } /** - * CelebrityTrack celebrities. - * @member {Array.} celebrities - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * DetectedAttribute name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @instance */ - CelebrityTrack.prototype.celebrities = $util.emptyArray; + DetectedAttribute.prototype.name = ""; /** - * CelebrityTrack faceTrack. - * @member {google.cloud.videointelligence.v1p3beta1.ITrack|null|undefined} faceTrack - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * DetectedAttribute confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @instance */ - CelebrityTrack.prototype.faceTrack = null; + DetectedAttribute.prototype.confidence = 0; /** - * Creates a new CelebrityTrack instance using the specified properties. + * DetectedAttribute value. + * @member {string} value + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.value = ""; + + /** + * Creates a new DetectedAttribute instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack instance + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute instance */ - CelebrityTrack.create = function create(properties) { - return new CelebrityTrack(properties); + DetectedAttribute.create = function create(properties) { + return new DetectedAttribute(properties); }; /** - * Encodes the specified CelebrityTrack message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CelebrityTrack.encode = function encode(message, writer) { + DetectedAttribute.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrities != null && message.celebrities.length) - for (var i = 0; i < message.celebrities.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.encode(message.celebrities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) - $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.faceTrack, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); return writer; }; /** - * Encodes the specified CelebrityTrack message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedAttribute} message DetectedAttribute message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CelebrityTrack.encodeDelimited = function encodeDelimited(message, writer) { + DetectedAttribute.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CelebrityTrack message from the specified reader or buffer. + * Decodes a DetectedAttribute message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CelebrityTrack.decode = function decode(reader, length) { + DetectedAttribute.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.celebrities && message.celebrities.length)) - message.celebrities = []; - message.celebrities.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.decode(reader, reader.uint32())); + message.name = reader.string(); + break; + case 2: + message.confidence = reader.float(); break; case 3: - message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32()); + message.value = reader.string(); break; default: reader.skipType(tag & 7); @@ -31846,162 +31964,616 @@ }; /** - * Decodes a CelebrityTrack message from the specified reader or buffer, length delimited. + * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CelebrityTrack.decodeDelimited = function decodeDelimited(reader) { + DetectedAttribute.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CelebrityTrack message. + * Verifies a DetectedAttribute message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CelebrityTrack.verify = function verify(message) { + DetectedAttribute.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.celebrities != null && message.hasOwnProperty("celebrities")) { - if (!Array.isArray(message.celebrities)) - return "celebrities: array expected"; - for (var i = 0; i < message.celebrities.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify(message.celebrities[i]); - if (error) - return "celebrities." + error; - } - } - if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.faceTrack); - if (error) - return "faceTrack." + error; - } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; return null; }; /** - * Creates a CelebrityTrack message from a plain object. Also converts values to their respective internal types. + * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} DetectedAttribute */ - CelebrityTrack.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack) + DetectedAttribute.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); - if (object.celebrities) { - if (!Array.isArray(object.celebrities)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: array expected"); - message.celebrities = []; - for (var i = 0; i < object.celebrities.length; ++i) { - if (typeof object.celebrities[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: object expected"); - message.celebrities[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.fromObject(object.celebrities[i]); - } - } - if (object.faceTrack != null) { - if (typeof object.faceTrack !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.faceTrack: object expected"); - message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.faceTrack); - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute(); + if (object.name != null) + message.name = String(object.name); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.value != null) + message.value = String(object.value); return message; }; /** - * Creates a plain object from a CelebrityTrack message. Also converts values to other types if specified. + * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @static - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} message CelebrityTrack + * @param {google.cloud.videointelligence.v1p3beta1.DetectedAttribute} message DetectedAttribute * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CelebrityTrack.toObject = function toObject(message, options) { + DetectedAttribute.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.celebrities = []; - if (options.defaults) - object.faceTrack = null; - if (message.celebrities && message.celebrities.length) { - object.celebrities = []; - for (var j = 0; j < message.celebrities.length; ++j) - object.celebrities[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.toObject(message.celebrities[j], options); + if (options.defaults) { + object.name = ""; + object.confidence = 0; + object.value = ""; } - if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) - object.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.faceTrack, options); + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; return object; }; /** - * Converts this CelebrityTrack to JSON. + * Converts this DetectedAttribute to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute * @instance * @returns {Object.} JSON object */ - CelebrityTrack.prototype.toJSON = function toJSON() { + DetectedAttribute.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - CelebrityTrack.RecognizedCelebrity = (function() { - - /** - * Properties of a RecognizedCelebrity. - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack - * @interface IRecognizedCelebrity - * @property {google.cloud.videointelligence.v1p3beta1.ICelebrity|null} [celebrity] RecognizedCelebrity celebrity - * @property {number|null} [confidence] RecognizedCelebrity confidence - */ + return DetectedAttribute; + })(); - /** - * Constructs a new RecognizedCelebrity. - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack - * @classdesc Represents a RecognizedCelebrity. - * @implements IRecognizedCelebrity - * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity=} [properties] Properties to set - */ - function RecognizedCelebrity(properties) { - if (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.Celebrity = (function() { - /** - * RecognizedCelebrity celebrity. - * @member {google.cloud.videointelligence.v1p3beta1.ICelebrity|null|undefined} celebrity - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @instance - */ - RecognizedCelebrity.prototype.celebrity = null; + /** + * Properties of a Celebrity. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ICelebrity + * @property {string|null} [name] Celebrity name + * @property {string|null} [displayName] Celebrity displayName + * @property {string|null} [description] Celebrity description + */ - /** - * RecognizedCelebrity confidence. - * @member {number} confidence - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @instance - */ - RecognizedCelebrity.prototype.confidence = 0; + /** + * Constructs a new Celebrity. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a Celebrity. + * @implements ICelebrity + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set + */ + 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]]; + } - /** - * Creates a new RecognizedCelebrity instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + /** + * Celebrity name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @instance + */ + Celebrity.prototype.name = ""; + + /** + * Celebrity displayName. + * @member {string} displayName + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @instance + */ + Celebrity.prototype.displayName = ""; + + /** + * Celebrity description. + * @member {string} description + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @instance + */ + Celebrity.prototype.description = ""; + + /** + * Creates a new Celebrity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity instance + */ + Celebrity.create = function create(properties) { + return new Celebrity(properties); + }; + + /** + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + 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; + }; + + /** + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.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(); + }; + + /** + * Decodes a Celebrity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.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; + }; + + /** + * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + * @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) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Celebrity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.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; + }; + + /** + * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.Celebrity} Celebrity + */ + Celebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.Celebrity) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.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 Celebrity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.Celebrity} message Celebrity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + 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; + }; + + /** + * Converts this Celebrity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.Celebrity + * @instance + * @returns {Object.} JSON object + */ + Celebrity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Celebrity; + })(); + + v1p3beta1.CelebrityTrack = (function() { + + /** + * Properties of a CelebrityTrack. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ICelebrityTrack + * @property {Array.|null} [celebrities] CelebrityTrack celebrities + * @property {google.cloud.videointelligence.v1p3beta1.ITrack|null} [faceTrack] CelebrityTrack faceTrack + */ + + /** + * Constructs a new CelebrityTrack. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a CelebrityTrack. + * @implements ICelebrityTrack + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set + */ + function CelebrityTrack(properties) { + this.celebrities = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CelebrityTrack celebrities. + * @member {Array.} celebrities + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + */ + CelebrityTrack.prototype.celebrities = $util.emptyArray; + + /** + * CelebrityTrack faceTrack. + * @member {google.cloud.videointelligence.v1p3beta1.ITrack|null|undefined} faceTrack + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + */ + CelebrityTrack.prototype.faceTrack = null; + + /** + * Creates a new CelebrityTrack instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack instance + */ + CelebrityTrack.create = function create(properties) { + return new CelebrityTrack(properties); + }; + + /** + * Encodes the specified CelebrityTrack message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityTrack.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrities != null && message.celebrities.length) + for (var i = 0; i < message.celebrities.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.encode(message.celebrities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) + $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.faceTrack, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CelebrityTrack message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityTrack} message CelebrityTrack message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityTrack.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityTrack.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.celebrities && message.celebrities.length)) + message.celebrities = []; + message.celebrities.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.decode(reader, reader.uint32())); + break; + case 3: + message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CelebrityTrack message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityTrack.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CelebrityTrack message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CelebrityTrack.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.celebrities != null && message.hasOwnProperty("celebrities")) { + if (!Array.isArray(message.celebrities)) + return "celebrities: array expected"; + for (var i = 0; i < message.celebrities.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify(message.celebrities[i]); + if (error) + return "celebrities." + error; + } + } + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.faceTrack); + if (error) + return "faceTrack." + error; + } + return null; + }; + + /** + * Creates a CelebrityTrack message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} CelebrityTrack + */ + CelebrityTrack.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack(); + if (object.celebrities) { + if (!Array.isArray(object.celebrities)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: array expected"); + message.celebrities = []; + for (var i = 0; i < object.celebrities.length; ++i) { + if (typeof object.celebrities[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.celebrities: object expected"); + message.celebrities[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.fromObject(object.celebrities[i]); + } + } + if (object.faceTrack != null) { + if (typeof object.faceTrack !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.faceTrack: object expected"); + message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.faceTrack); + } + return message; + }; + + /** + * Creates a plain object from a CelebrityTrack message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack} message CelebrityTrack + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CelebrityTrack.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.celebrities = []; + if (options.defaults) + object.faceTrack = null; + if (message.celebrities && message.celebrities.length) { + object.celebrities = []; + for (var j = 0; j < message.celebrities.length; ++j) + object.celebrities[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.toObject(message.celebrities[j], options); + } + if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) + object.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.faceTrack, options); + return object; + }; + + /** + * Converts this CelebrityTrack to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @instance + * @returns {Object.} JSON object + */ + CelebrityTrack.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + CelebrityTrack.RecognizedCelebrity = (function() { + + /** + * Properties of a RecognizedCelebrity. + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @interface IRecognizedCelebrity + * @property {google.cloud.videointelligence.v1p3beta1.ICelebrity|null} [celebrity] RecognizedCelebrity celebrity + * @property {number|null} [confidence] RecognizedCelebrity confidence + */ + + /** + * Constructs a new RecognizedCelebrity. + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @classdesc Represents a RecognizedCelebrity. + * @implements IRecognizedCelebrity + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity=} [properties] Properties to set + */ + function RecognizedCelebrity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RecognizedCelebrity celebrity. + * @member {google.cloud.videointelligence.v1p3beta1.ICelebrity|null|undefined} celebrity + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + */ + RecognizedCelebrity.prototype.celebrity = null; + + /** + * RecognizedCelebrity confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + */ + RecognizedCelebrity.prototype.confidence = 0; + + /** + * Creates a new RecognizedCelebrity instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity * @static * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity=} [properties] Properties to set * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity instance @@ -32010,190 +32582,875 @@ return new RecognizedCelebrity(properties); }; - /** - * Encodes the specified RecognizedCelebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. - * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RecognizedCelebrity.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.celebrity != null && message.hasOwnProperty("celebrity")) - $root.google.cloud.videointelligence.v1p3beta1.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 RecognizedCelebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RecognizedCelebrity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + $root.google.cloud.videointelligence.v1p3beta1.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 RecognizedCelebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RecognizedCelebrity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RecognizedCelebrity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RecognizedCelebrity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RecognizedCelebrity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RecognizedCelebrity message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RecognizedCelebrity.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.videointelligence.v1p3beta1.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 RecognizedCelebrity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity + */ + RecognizedCelebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); + if (object.celebrity != null) { + if (typeof object.celebrity !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.celebrity: object expected"); + message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.fromObject(object.celebrity); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a RecognizedCelebrity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} message RecognizedCelebrity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RecognizedCelebrity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.celebrity = null; + object.confidence = 0; + } + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + object.celebrity = $root.google.cloud.videointelligence.v1p3beta1.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 RecognizedCelebrity to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @instance + * @returns {Object.} JSON object + */ + RecognizedCelebrity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RecognizedCelebrity; + })(); + + return CelebrityTrack; + })(); + + v1p3beta1.CelebrityRecognitionAnnotation = (function() { + + /** + * Properties of a CelebrityRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface ICelebrityRecognitionAnnotation + * @property {Array.|null} [celebrityTracks] CelebrityRecognitionAnnotation celebrityTracks + */ + + /** + * Constructs a new CelebrityRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a CelebrityRecognitionAnnotation. + * @implements ICelebrityRecognitionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set + */ + function CelebrityRecognitionAnnotation(properties) { + this.celebrityTracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CelebrityRecognitionAnnotation celebrityTracks. + * @member {Array.} celebrityTracks + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @instance + */ + CelebrityRecognitionAnnotation.prototype.celebrityTracks = $util.emptyArray; + + /** + * Creates a new CelebrityRecognitionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation instance + */ + CelebrityRecognitionAnnotation.create = function create(properties) { + return new CelebrityRecognitionAnnotation(properties); + }; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityRecognitionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebrityTracks != null && message.celebrityTracks.length) + for (var i = 0; i < message.celebrityTracks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.encode(message.celebrityTracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CelebrityRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CelebrityRecognitionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityRecognitionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.celebrityTracks && message.celebrityTracks.length)) + message.celebrityTracks = []; + message.celebrityTracks.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CelebrityRecognitionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CelebrityRecognitionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CelebrityRecognitionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.celebrityTracks != null && message.hasOwnProperty("celebrityTracks")) { + if (!Array.isArray(message.celebrityTracks)) + return "celebrityTracks: array expected"; + for (var i = 0; i < message.celebrityTracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify(message.celebrityTracks[i]); + if (error) + return "celebrityTracks." + error; + } + } + return null; + }; + + /** + * Creates a CelebrityRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + */ + CelebrityRecognitionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); + if (object.celebrityTracks) { + if (!Array.isArray(object.celebrityTracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: array expected"); + message.celebrityTracks = []; + for (var i = 0; i < object.celebrityTracks.length; ++i) { + if (typeof object.celebrityTracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: object expected"); + message.celebrityTracks[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.fromObject(object.celebrityTracks[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CelebrityRecognitionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CelebrityRecognitionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.celebrityTracks = []; + if (message.celebrityTracks && message.celebrityTracks.length) { + object.celebrityTracks = []; + for (var j = 0; j < message.celebrityTracks.length; ++j) + object.celebrityTracks[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.toObject(message.celebrityTracks[j], options); + } + return object; + }; + + /** + * Converts this CelebrityRecognitionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @instance + * @returns {Object.} JSON object + */ + CelebrityRecognitionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CelebrityRecognitionAnnotation; + })(); + + v1p3beta1.DetectedLandmark = (function() { + + /** + * Properties of a DetectedLandmark. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IDetectedLandmark + * @property {string|null} [name] DetectedLandmark name + * @property {google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null} [point] DetectedLandmark point + * @property {number|null} [confidence] DetectedLandmark confidence + */ + + /** + * Constructs a new DetectedLandmark. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a DetectedLandmark. + * @implements IDetectedLandmark + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedLandmark=} [properties] Properties to set + */ + function DetectedLandmark(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DetectedLandmark name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.name = ""; + + /** + * DetectedLandmark point. + * @member {google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null|undefined} point + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.point = null; + + /** + * DetectedLandmark confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.confidence = 0; + + /** + * Creates a new DetectedLandmark instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedLandmark=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedLandmark} DetectedLandmark instance + */ + DetectedLandmark.create = function create(properties) { + return new DetectedLandmark(properties); + }; + + /** + * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedLandmark} message DetectedLandmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLandmark.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.point != null && message.hasOwnProperty("point")) + $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.encode(message.point, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IDetectedLandmark} message DetectedLandmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLandmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedLandmark} DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLandmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.point = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32()); + break; + case 3: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedLandmark} DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLandmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLandmark message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLandmark.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.point != null && message.hasOwnProperty("point")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.verify(message.point); + if (error) + return "point." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.DetectedLandmark} DetectedLandmark + */ + DetectedLandmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark(); + if (object.name != null) + message.name = String(object.name); + if (object.point != null) { + if (typeof object.point !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.DetectedLandmark.point: object expected"); + message.point = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.fromObject(object.point); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; - /** - * Encodes the specified RecognizedCelebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity} message RecognizedCelebrity message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RecognizedCelebrity.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1p3beta1.DetectedLandmark} message DetectedLandmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLandmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.point = null; + object.confidence = 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.point != null && message.hasOwnProperty("point")) + object.point = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.toObject(message.point, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; - /** - * Decodes a RecognizedCelebrity message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RecognizedCelebrity.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Converts this DetectedLandmark to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @instance + * @returns {Object.} JSON object + */ + DetectedLandmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Decodes a RecognizedCelebrity message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RecognizedCelebrity.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return DetectedLandmark; + })(); - /** - * Verifies a RecognizedCelebrity message. - * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RecognizedCelebrity.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.videointelligence.v1p3beta1.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; - }; + v1p3beta1.FaceDetectionAnnotation = (function() { - /** - * Creates a RecognizedCelebrity message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} RecognizedCelebrity - */ - RecognizedCelebrity.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity) - return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity(); - if (object.celebrity != null) { - if (typeof object.celebrity !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.celebrity: object expected"); - message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.fromObject(object.celebrity); + /** + * Properties of a FaceDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IFaceDetectionAnnotation + * @property {Array.|null} [tracks] FaceDetectionAnnotation tracks + * @property {Uint8Array|null} [thumbnail] FaceDetectionAnnotation thumbnail + */ + + /** + * Constructs a new FaceDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a FaceDetectionAnnotation. + * @implements IFaceDetectionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation=} [properties] Properties to set + */ + function FaceDetectionAnnotation(properties) { + this.tracks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceDetectionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @instance + */ + FaceDetectionAnnotation.prototype.tracks = $util.emptyArray; + + /** + * FaceDetectionAnnotation thumbnail. + * @member {Uint8Array} thumbnail + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @instance + */ + FaceDetectionAnnotation.prototype.thumbnail = $util.newBuffer([]); + + /** + * Creates a new FaceDetectionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} FaceDetectionAnnotation instance + */ + FaceDetectionAnnotation.create = function create(properties) { + return new FaceDetectionAnnotation(properties); + }; + + /** + * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.tracks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thumbnail); + return writer; + }; + + /** + * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); + break; + case 4: + message.thumbnail = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; } - if (object.confidence != null) - message.confidence = Number(object.confidence); - return message; - }; + } + return message; + }; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a plain object from a RecognizedCelebrity message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @static - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity} message RecognizedCelebrity - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RecognizedCelebrity.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.celebrity = null; - object.confidence = 0; + /** + * Verifies a FaceDetectionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceDetectionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.tracks[i]); + if (error) + return "tracks." + error; } - if (message.celebrity != null && message.hasOwnProperty("celebrity")) - object.celebrity = $root.google.cloud.videointelligence.v1p3beta1.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.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) + return "thumbnail: buffer expected"; + return null; + }; + + /** + * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} FaceDetectionAnnotation + */ + FaceDetectionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation) return object; - }; + var message = new $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation(); + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.tracks[i]); + } + } + if (object.thumbnail != null) + if (typeof object.thumbnail === "string") + $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); + else if (object.thumbnail.length) + message.thumbnail = object.thumbnail; + return message; + }; - /** - * Converts this RecognizedCelebrity to JSON. - * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity - * @instance - * @returns {Object.} JSON object - */ - RecognizedCelebrity.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} message FaceDetectionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceDetectionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tracks = []; + if (options.defaults) + if (options.bytes === String) + object.thumbnail = ""; + else { + object.thumbnail = []; + if (options.bytes !== Array) + object.thumbnail = $util.newBuffer(object.thumbnail); + } + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.tracks[j], options); + } + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; + return object; + }; - return RecognizedCelebrity; - })(); + /** + * Converts this FaceDetectionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceDetectionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return CelebrityTrack; + return FaceDetectionAnnotation; })(); - v1p3beta1.CelebrityRecognitionAnnotation = (function() { + v1p3beta1.PersonDetectionAnnotation = (function() { /** - * Properties of a CelebrityRecognitionAnnotation. + * Properties of a PersonDetectionAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface ICelebrityRecognitionAnnotation - * @property {Array.|null} [celebrityTracks] CelebrityRecognitionAnnotation celebrityTracks + * @interface IPersonDetectionAnnotation + * @property {Array.|null} [tracks] PersonDetectionAnnotation tracks */ /** - * Constructs a new CelebrityRecognitionAnnotation. + * Constructs a new PersonDetectionAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a CelebrityRecognitionAnnotation. - * @implements ICelebrityRecognitionAnnotation + * @classdesc Represents a PersonDetectionAnnotation. + * @implements IPersonDetectionAnnotation * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation=} [properties] Properties to set */ - function CelebrityRecognitionAnnotation(properties) { - this.celebrityTracks = []; + function PersonDetectionAnnotation(properties) { + this.tracks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32201,78 +33458,78 @@ } /** - * CelebrityRecognitionAnnotation celebrityTracks. - * @member {Array.} celebrityTracks - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * PersonDetectionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @instance */ - CelebrityRecognitionAnnotation.prototype.celebrityTracks = $util.emptyArray; + PersonDetectionAnnotation.prototype.tracks = $util.emptyArray; /** - * Creates a new CelebrityRecognitionAnnotation instance using the specified properties. + * Creates a new PersonDetectionAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation instance + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} PersonDetectionAnnotation instance */ - CelebrityRecognitionAnnotation.create = function create(properties) { - return new CelebrityRecognitionAnnotation(properties); + PersonDetectionAnnotation.create = function create(properties) { + return new PersonDetectionAnnotation(properties); }; /** - * Encodes the specified CelebrityRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CelebrityRecognitionAnnotation.encode = function encode(message, writer) { + PersonDetectionAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrityTracks != null && message.celebrityTracks.length) - for (var i = 0; i < message.celebrityTracks.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.encode(message.celebrityTracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.tracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified CelebrityRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages. + * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CelebrityRecognitionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + PersonDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer. + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} PersonDetectionAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CelebrityRecognitionAnnotation.decode = function decode(reader, length) { + PersonDetectionAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.celebrityTracks && message.celebrityTracks.length)) - message.celebrityTracks = []; - message.celebrityTracks.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.decode(reader, reader.uint32())); + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -32283,104 +33540,104 @@ }; /** - * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer, length delimited. + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} PersonDetectionAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CelebrityRecognitionAnnotation.decodeDelimited = function decodeDelimited(reader) { + PersonDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CelebrityRecognitionAnnotation message. + * Verifies a PersonDetectionAnnotation message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CelebrityRecognitionAnnotation.verify = function verify(message) { + PersonDetectionAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.celebrityTracks != null && message.hasOwnProperty("celebrityTracks")) { - if (!Array.isArray(message.celebrityTracks)) - return "celebrityTracks: array expected"; - for (var i = 0; i < message.celebrityTracks.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify(message.celebrityTracks[i]); + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.Track.verify(message.tracks[i]); if (error) - return "celebrityTracks." + error; + return "tracks." + error; } } return null; }; /** - * Creates a CelebrityRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} CelebrityRecognitionAnnotation + * @returns {google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} PersonDetectionAnnotation */ - CelebrityRecognitionAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation) + PersonDetectionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation(); - if (object.celebrityTracks) { - if (!Array.isArray(object.celebrityTracks)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: array expected"); - message.celebrityTracks = []; - for (var i = 0; i < object.celebrityTracks.length; ++i) { - if (typeof object.celebrityTracks[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.celebrityTracks: object expected"); - message.celebrityTracks[i] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.fromObject(object.celebrityTracks[i]); + var message = new $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation(); + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1p3beta1.Track.fromObject(object.tracks[i]); } } return message; }; /** - * Creates a plain object from a CelebrityRecognitionAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} message CelebrityRecognitionAnnotation + * @param {google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} message PersonDetectionAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CelebrityRecognitionAnnotation.toObject = function toObject(message, options) { + PersonDetectionAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.celebrityTracks = []; - if (message.celebrityTracks && message.celebrityTracks.length) { - object.celebrityTracks = []; - for (var j = 0; j < message.celebrityTracks.length; ++j) - object.celebrityTracks[j] = $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.toObject(message.celebrityTracks[j], options); + object.tracks = []; + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1p3beta1.Track.toObject(message.tracks[j], options); } return object; }; /** - * Converts this CelebrityRecognitionAnnotation to JSON. + * Converts this PersonDetectionAnnotation to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation * @instance * @returns {Object.} JSON object */ - CelebrityRecognitionAnnotation.prototype.toJSON = function toJSON() { + PersonDetectionAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CelebrityRecognitionAnnotation; + return PersonDetectionAnnotation; })(); v1p3beta1.VideoAnnotationResults = (function() { @@ -32396,12 +33653,14 @@ * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [faceDetectionAnnotations] VideoAnnotationResults faceDetectionAnnotations * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations + * @property {Array.|null} [personDetectionAnnotations] VideoAnnotationResults personDetectionAnnotations * @property {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null} [celebrityRecognitionAnnotations] VideoAnnotationResults celebrityRecognitionAnnotations * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error */ @@ -32420,11 +33679,13 @@ this.shotLabelAnnotations = []; this.shotPresenceLabelAnnotations = []; this.frameLabelAnnotations = []; + this.faceDetectionAnnotations = []; this.shotAnnotations = []; this.speechTranscriptions = []; this.textAnnotations = []; this.objectAnnotations = []; this.logoRecognitionAnnotations = []; + this.personDetectionAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32487,6 +33748,14 @@ */ VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + /** + * VideoAnnotationResults faceDetectionAnnotations. + * @member {Array.} faceDetectionAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceDetectionAnnotations = $util.emptyArray; + /** * VideoAnnotationResults shotAnnotations. * @member {Array.} shotAnnotations @@ -32535,6 +33804,14 @@ */ VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + /** + * VideoAnnotationResults personDetectionAnnotations. + * @member {Array.} personDetectionAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.personDetectionAnnotations = $util.emptyArray; + /** * VideoAnnotationResults celebrityRecognitionAnnotations. * @member {google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null|undefined} celebrityRecognitionAnnotations @@ -32601,12 +33878,18 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.faceDetectionAnnotations != null && message.faceDetectionAnnotations.length) + for (var i = 0; i < message.faceDetectionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.encode(message.faceDetectionAnnotations[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); if (message.objectAnnotations != null && message.objectAnnotations.length) for (var i = 0; i < message.objectAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.personDetectionAnnotations != null && message.personDetectionAnnotations.length) + for (var i = 0; i < message.personDetectionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.encode(message.personDetectionAnnotations[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.encode(message.celebrityRecognitionAnnotations, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) @@ -32680,6 +33963,11 @@ message.frameLabelAnnotations = []; message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); break; + case 13: + if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) + message.faceDetectionAnnotations = []; + message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.decode(reader, reader.uint32())); + break; case 6: if (!(message.shotAnnotations && message.shotAnnotations.length)) message.shotAnnotations = []; @@ -32708,6 +33996,11 @@ message.logoRecognitionAnnotations = []; message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); break; + case 20: + if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) + message.personDetectionAnnotations = []; + message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.decode(reader, reader.uint32())); + break; case 21: message.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.decode(reader, reader.uint32()); break; @@ -32802,6 +34095,15 @@ return "frameLabelAnnotations." + error; } } + if (message.faceDetectionAnnotations != null && message.hasOwnProperty("faceDetectionAnnotations")) { + if (!Array.isArray(message.faceDetectionAnnotations)) + return "faceDetectionAnnotations: array expected"; + for (var i = 0; i < message.faceDetectionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify(message.faceDetectionAnnotations[i]); + if (error) + return "faceDetectionAnnotations." + error; + } + } if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { if (!Array.isArray(message.shotAnnotations)) return "shotAnnotations: array expected"; @@ -32852,6 +34154,15 @@ return "logoRecognitionAnnotations." + error; } } + if (message.personDetectionAnnotations != null && message.hasOwnProperty("personDetectionAnnotations")) { + if (!Array.isArray(message.personDetectionAnnotations)) + return "personDetectionAnnotations: array expected"; + for (var i = 0; i < message.personDetectionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify(message.personDetectionAnnotations[i]); + if (error) + return "personDetectionAnnotations." + error; + } + } if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) { var error = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify(message.celebrityRecognitionAnnotations); if (error) @@ -32934,6 +34245,16 @@ message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]); } } + if (object.faceDetectionAnnotations) { + if (!Array.isArray(object.faceDetectionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.faceDetectionAnnotations: array expected"); + message.faceDetectionAnnotations = []; + for (var i = 0; i < object.faceDetectionAnnotations.length; ++i) { + if (typeof object.faceDetectionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.faceDetectionAnnotations: object expected"); + message.faceDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.fromObject(object.faceDetectionAnnotations[i]); + } + } if (object.shotAnnotations) { if (!Array.isArray(object.shotAnnotations)) throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.shotAnnotations: array expected"); @@ -32989,6 +34310,16 @@ message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]); } } + if (object.personDetectionAnnotations) { + if (!Array.isArray(object.personDetectionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.personDetectionAnnotations: array expected"); + message.personDetectionAnnotations = []; + for (var i = 0; i < object.personDetectionAnnotations.length; ++i) { + if (typeof object.personDetectionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.personDetectionAnnotations: object expected"); + message.personDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.fromObject(object.personDetectionAnnotations[i]); + } + } if (object.celebrityRecognitionAnnotations != null) { if (typeof object.celebrityRecognitionAnnotations !== "object") throw TypeError(".google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.celebrityRecognitionAnnotations: object expected"); @@ -33022,8 +34353,10 @@ object.shotAnnotations = []; object.speechTranscriptions = []; object.textAnnotations = []; + object.faceDetectionAnnotations = []; object.objectAnnotations = []; object.logoRecognitionAnnotations = []; + object.personDetectionAnnotations = []; object.segmentPresenceLabelAnnotations = []; object.shotPresenceLabelAnnotations = []; } @@ -33072,6 +34405,11 @@ for (var j = 0; j < message.textAnnotations.length; ++j) object.textAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.toObject(message.textAnnotations[j], options); } + if (message.faceDetectionAnnotations && message.faceDetectionAnnotations.length) { + object.faceDetectionAnnotations = []; + for (var j = 0; j < message.faceDetectionAnnotations.length; ++j) + object.faceDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.toObject(message.faceDetectionAnnotations[j], options); + } if (message.objectAnnotations && message.objectAnnotations.length) { object.objectAnnotations = []; for (var j = 0; j < message.objectAnnotations.length; ++j) @@ -33082,6 +34420,11 @@ for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j) object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options); } + if (message.personDetectionAnnotations && message.personDetectionAnnotations.length) { + object.personDetectionAnnotations = []; + for (var j = 0; j < message.personDetectionAnnotations.length; ++j) + object.personDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.toObject(message.personDetectionAnnotations[j], options); + } if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) object.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.toObject(message.celebrityRecognitionAnnotations, options); if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) { @@ -33543,11 +34886,13 @@ case 1: case 2: case 3: + case 4: case 6: case 7: case 9: case 12: case 13: + case 14: break; } if (message.segment != null && message.hasOwnProperty("segment")) { @@ -33601,6 +34946,10 @@ case 3: message.feature = 3; break; + case "FACE_DETECTION": + case 4: + message.feature = 4; + break; case "SPEECH_TRANSCRIPTION": case 6: message.feature = 6; @@ -33621,6 +34970,10 @@ case 13: message.feature = 13; break; + case "PERSON_DETECTION": + case 14: + message.feature = 14; + break; } if (object.segment != null) { if (typeof object.segment !== "object") @@ -39781,11 +41134,13 @@ * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} FACE_DETECTION=4 FACE_DETECTION value * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value * @property {number} CELEBRITY_RECOGNITION=13 CELEBRITY_RECOGNITION value + * @property {number} PERSON_DETECTION=14 PERSON_DETECTION value */ v1p3beta1.Feature = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -39793,11 +41148,13 @@ values[valuesById[1] = "LABEL_DETECTION"] = 1; values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "FACE_DETECTION"] = 4; values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; values[valuesById[7] = "TEXT_DETECTION"] = 7; values[valuesById[9] = "OBJECT_TRACKING"] = 9; values[valuesById[12] = "LOGO_RECOGNITION"] = 12; values[valuesById[13] = "CELEBRITY_RECOGNITION"] = 13; + values[valuesById[14] = "PERSON_DETECTION"] = 14; return values; })(); diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 23e6e570f45..6c026992bb4 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -757,13 +757,20 @@ }, "nested": { "VideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, "methods": { "AnnotateVideo": { "requestType": "AnnotateVideoRequest", "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1beta2/videos:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "input_uri,features", + "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", + "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" } } } @@ -781,7 +788,10 @@ "features": { "rule": "repeated", "type": "Feature", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "videoContext": { "type": "VideoContext", @@ -789,11 +799,17 @@ }, "outputUri": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "locationId": { "type": "string", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1141,13 +1157,20 @@ }, "nested": { "VideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, "methods": { "AnnotateVideo": { "requestType": "AnnotateVideoRequest", "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p1beta1/videos:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "input_uri,features", + "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", + "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" } } } @@ -1165,7 +1188,10 @@ "features": { "rule": "repeated", "type": "Feature", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "videoContext": { "type": "VideoContext", @@ -1173,11 +1199,17 @@ }, "outputUri": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "locationId": { "type": "string", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1417,29 +1449,47 @@ "fields": { "languageCode": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "maxAlternatives": { "type": "int32", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "filterProfanity": { "type": "bool", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "speechContexts": { "rule": "repeated", "type": "SpeechContext", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "enableAutomaticPunctuation": { "type": "bool", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "audioTracks": { "rule": "repeated", "type": "int32", - "id": 6 + "id": 6, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1448,7 +1498,10 @@ "phrases": { "rule": "repeated", "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1469,7 +1522,10 @@ }, "confidence": { "type": "float", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "words": { "rule": "repeated", @@ -1535,13 +1591,20 @@ }, "nested": { "VideoIntelligenceService": { + "options": { + "(google.api.default_host)": "videointelligence.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, "methods": { "AnnotateVideo": { "requestType": "AnnotateVideoRequest", "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p2beta1/videos:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "input_uri,features", + "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", + "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" } } } @@ -1559,7 +1622,10 @@ "features": { "rule": "repeated", "type": "Feature", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "videoContext": { "type": "VideoContext", @@ -1567,11 +1633,17 @@ }, "outputUri": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } }, "locationId": { "type": "string", - "id": 5 + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2067,6 +2139,10 @@ "type": "ExplicitContentDetectionConfig", "id": 4 }, + "faceDetectionConfig": { + "type": "FaceDetectionConfig", + "id": 5 + }, "speechTranscriptionConfig": { "type": "SpeechTranscriptionConfig", "id": 6 @@ -2075,6 +2151,10 @@ "type": "TextDetectionConfig", "id": 8 }, + "personDetectionConfig": { + "type": "PersonDetectionConfig", + "id": 11 + }, "objectTrackingConfig": { "type": "ObjectTrackingConfig", "id": 13 @@ -2129,6 +2209,38 @@ } } }, + "FaceDetectionConfig": { + "fields": { + "model": { + "type": "string", + "id": 1 + }, + "includeBoundingBoxes": { + "type": "bool", + "id": 2 + }, + "includeAttributes": { + "type": "bool", + "id": 5 + } + } + }, + "PersonDetectionConfig": { + "fields": { + "includeBoundingBoxes": { + "type": "bool", + "id": 1 + }, + "includePoseLandmarks": { + "type": "bool", + "id": 2 + }, + "includeAttributes": { + "type": "bool", + "id": 3 + } + } + }, "TextDetectionConfig": { "fields": { "languageHints": { @@ -2275,6 +2387,14 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "landmarks": { + "rule": "repeated", + "type": "DetectedLandmark", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -2374,6 +2494,44 @@ } } }, + "DetectedLandmark": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "point": { + "type": "NormalizedVertex", + "id": 2 + }, + "confidence": { + "type": "float", + "id": 3 + } + } + }, + "FaceDetectionAnnotation": { + "fields": { + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 3 + }, + "thumbnail": { + "type": "bytes", + "id": 4 + } + } + }, + "PersonDetectionAnnotation": { + "fields": { + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 1 + } + } + }, "VideoAnnotationResults": { "fields": { "inputUri": { @@ -2409,6 +2567,11 @@ "type": "LabelAnnotation", "id": 4 }, + "faceDetectionAnnotations": { + "rule": "repeated", + "type": "FaceDetectionAnnotation", + "id": 13 + }, "shotAnnotations": { "rule": "repeated", "type": "VideoSegment", @@ -2438,6 +2601,11 @@ "type": "LogoRecognitionAnnotation", "id": 19 }, + "personDetectionAnnotations": { + "rule": "repeated", + "type": "PersonDetectionAnnotation", + "id": 20 + }, "celebrityRecognitionAnnotations": { "type": "CelebrityRecognitionAnnotation", "id": 21 @@ -2928,11 +3096,13 @@ "LABEL_DETECTION": 1, "SHOT_CHANGE_DETECTION": 2, "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4, "SPEECH_TRANSCRIPTION": 6, "TEXT_DETECTION": 7, "OBJECT_TRACKING": 9, "LOGO_RECOGNITION": 12, - "CELEBRITY_RECOGNITION": 13 + "CELEBRITY_RECOGNITION": 13, + "PERSON_DETECTION": 14 } }, "LabelDetectionMode": { diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js index 18960fed46e..4019788cd52 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js @@ -36,7 +36,7 @@ * If set, `input_uri` should be unset. * * @property {number[]} features - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} * @@ -46,7 +46,7 @@ * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} * * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return @@ -54,7 +54,7 @@ * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @@ -71,8 +71,8 @@ const AnnotateVideoRequest = { * * @property {Object[]} segments * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video - * is treated as a single segment. + * to be contiguous or span the whole video. If unspecified, each video is + * treated as a single segment. * * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} * diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js index 26ac21660a1..46a2571d732 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js @@ -260,7 +260,7 @@ class VideoIntelligenceServiceClient { * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. * @param {number[]} [request.features] - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} * @param {Object} [request.videoContext] @@ -268,14 +268,14 @@ class VideoIntelligenceServiceClient { * * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * google.rpc.Code.INVALID_ARGUMENT). For * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @param {Object} [options] diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js index f74de028f31..0ab262f5f3b 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -36,7 +36,7 @@ * If set, `input_uri` should be unset. * * @property {number[]} features - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} * @@ -46,15 +46,15 @@ * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} * * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @@ -445,32 +445,32 @@ const AnnotateVideoProgress = { * Config for SPEECH_TRANSCRIPTION. * * @property {string} languageCode - * *Required* The language of the supplied audio as a + * Required. *Required* The language of the supplied audio as a * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. * Example: "en-US". * See [Language Support](https://cloud.google.com/speech/docs/languages) * for a list of the currently supported language codes. * * @property {number} maxAlternatives - * *Optional* Maximum number of recognition hypotheses to be returned. + * Optional. Maximum number of recognition hypotheses to be returned. * Specifically, the maximum number of `SpeechRecognitionAlternative` messages - * within each `SpeechRecognitionResult`. The server may return fewer than + * within each `SpeechTranscription`. The server may return fewer than * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will * return a maximum of one. If omitted, will return a maximum of one. * * @property {boolean} filterProfanity - * *Optional* If set to `true`, the server will attempt to filter out + * Optional. If set to `true`, the server will attempt to filter out * profanities, replacing all but the initial character in each filtered word * with asterisks, e.g. "f***". If set to `false` or omitted, profanities * won't be filtered out. * * @property {Object[]} speechContexts - * *Optional* A means to provide context to assist the speech recognition. + * Optional. A means to provide context to assist the speech recognition. * * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p1beta1.SpeechContext} * * @property {boolean} enableAutomaticPunctuation - * *Optional* If 'true', adds punctuation to recognition result hypotheses. + * Optional. If 'true', adds punctuation to recognition result hypotheses. * This feature is only available in select languages. Setting this for * requests in other languages has no effect at all. The default 'false' value * does not add punctuation to result hypotheses. NOTE: "This is currently @@ -478,7 +478,7 @@ const AnnotateVideoProgress = { * future this may be exclusively available as a premium feature." * * @property {number[]} audioTracks - * *Optional* For file formats, such as MXF or MKV, supporting multiple audio + * Optional. For file formats, such as MXF or MKV, supporting multiple audio * tracks, specify up to two tracks. Default: track 0. * * @typedef SpeechTranscriptionConfig @@ -494,7 +494,7 @@ const SpeechTranscriptionConfig = { * in the results. * * @property {string[]} phrases - * *Optional* A list of strings containing words and phrases "hints" so that + * Optional. A list of strings containing words and phrases "hints" so that * the speech recognition is more likely to recognize them. This can be used * to improve the accuracy for specific words and phrases, for example, if * specific commands are typically spoken by the user. This can also be used @@ -513,10 +513,10 @@ const SpeechContext = { * A speech recognition result corresponding to a portion of the audio. * * @property {Object[]} alternatives - * Output only. May contain one or more recognition hypotheses (up to the - * maximum specified in `max_alternatives`). - * These alternatives are ordered in terms of accuracy, with the top (first) - * alternative being the most probable, as ranked by the recognizer. + * May contain one or more recognition hypotheses (up to the maximum specified + * in `max_alternatives`). These alternatives are ordered in terms of + * accuracy, with the top (first) alternative being the most probable, as + * ranked by the recognizer. * * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} * @@ -537,9 +537,9 @@ const SpeechTranscription = { * @property {number} confidence * Output only. The confidence estimate between 0.0 and 1.0. A higher number * indicates an estimated greater likelihood that the recognized words are - * correct. This field is typically provided only for the top hypothesis, and - * only for `is_final=true` results. Clients should not rely on the - * `confidence` field as it is not guaranteed to be accurate or consistent. + * correct. This field is set only for the top alternative. + * This field is not guaranteed to be accurate and users should not rely on it + * to be always provided. * The default of 0.0 is a sentinel value indicating `confidence` was not set. * * @property {Object[]} words diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js index e34b6561895..bea8f82bc97 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js @@ -249,10 +249,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {Buffer} [request.inputContent] @@ -260,7 +260,7 @@ class VideoIntelligenceServiceClient { * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. * @param {number[]} [request.features] - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} * @param {Object} [request.videoContext] @@ -268,14 +268,14 @@ class VideoIntelligenceServiceClient { * * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @param {Object} [options] diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js index 058d50a01b5..31a4ea321b3 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js @@ -23,10 +23,10 @@ * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @@ -36,7 +36,7 @@ * If set, `input_uri` should be unset. * * @property {number[]} features - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} * @@ -46,15 +46,15 @@ * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} * * @property {string} outputUri - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * * @property {string} locationId - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js index 5a6bf4535b8..1b9511df368 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js @@ -249,10 +249,10 @@ class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {Buffer} [request.inputContent] @@ -260,7 +260,7 @@ class VideoIntelligenceServiceClient { * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. * @param {number[]} [request.features] - * Requested video annotation features. + * Required. Requested video annotation features. * * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} * @param {Object} [request.videoContext] @@ -268,14 +268,14 @@ class VideoIntelligenceServiceClient { * * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} * @param {string} [request.outputUri] - * Optional location where the output (in JSON format) should be stored. + * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * google.rpc.Code.INVALID_ARGUMENT). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). * @param {string} [request.locationId] - * Optional cloud region where annotation should take place. Supported cloud + * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. * @param {Object} [options] diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js index 4e4a1ba0bad..ae450b25b92 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js @@ -91,6 +91,11 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} * + * @property {Object} faceDetectionConfig + * Config for FACE_DETECTION. + * + * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} + * * @property {Object} speechTranscriptionConfig * Config for SPEECH_TRANSCRIPTION. * @@ -101,6 +106,11 @@ const AnnotateVideoRequest = { * * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} * + * @property {Object} personDetectionConfig + * Config for PERSON_DETECTION. + * + * This object should have the same structure as [PersonDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} + * * @property {Object} objectTrackingConfig * Config for OBJECT_TRACKING. * @@ -206,6 +216,54 @@ const ExplicitContentDetectionConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Config for FACE_DETECTION. + * + * @property {string} model + * Model to use for face detection. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @property {boolean} includeBoundingBoxes + * Whether bounding boxes be included in the face annotation output. + * + * @property {boolean} includeAttributes + * Whether to enable face attributes detection, such as glasses, dark_glasses, + * mouth_open etc. Ignored if 'include_bounding_boxes' is false. + * + * @typedef FaceDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const FaceDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Config for PERSON_DETECTION. + * + * @property {boolean} includeBoundingBoxes + * Whether bounding boxes be included in the person detection annotation + * output. + * + * @property {boolean} includePoseLandmarks + * Whether to enable pose landmarks detection. Ignored if + * 'include_bounding_boxes' is false. + * + * @property {boolean} includeAttributes + * Whether to enable person attributes detection, such as cloth color (black, + * blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair + * color (black, blonde, etc), hair length (long, short, bald), etc. + * Ignored if 'include_bounding_boxes' is false. + * + * @typedef PersonDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const PersonDetectionConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Config for TEXT_DETECTION. * @@ -433,6 +491,11 @@ const NormalizedBoundingBox = { * * This object should have the same structure as [DetectedAttribute]{@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute} * + * @property {Object[]} landmarks + * Optional. The detected landmarks. + * + * This object should have the same structure as [DetectedLandmark]{@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark} + * * @typedef TimestampedObject * @memberof google.cloud.videointelligence.v1p3beta1 * @see [google.cloud.videointelligence.v1p3beta1.TimestampedObject definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} @@ -574,6 +637,65 @@ const CelebrityRecognitionAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * A generic detected landmark represented by name in string format and a 2D + * location. + * + * @property {string} name + * The name of this landmark, i.e. left_hand, right_shoulder. + * + * @property {Object} point + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex} + * + * @property {number} confidence + * The confidence score of the detected landmark. Range [0, 1]. + * + * @typedef DetectedLandmark + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.DetectedLandmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const DetectedLandmark = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Face detection annotation. + * + * @property {Object[]} tracks + * The face tracks with attributes. + * + * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} + * + * @property {Buffer} thumbnail + * The thumbnail of a person's face. + * + * @typedef FaceDetectionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const FaceDetectionAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Person detection annotation per video. + * + * @property {Object[]} tracks + * The trackes that a person is detected. + * + * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} + * + * @typedef PersonDetectionAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1 + * @see [google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} + */ +const PersonDetectionAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Annotation results for a single video. * @@ -623,6 +745,11 @@ const CelebrityRecognitionAnnotation = { * * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} * + * @property {Object[]} faceDetectionAnnotations + * Face detection annotations. + * + * This object should have the same structure as [FaceDetectionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} + * * @property {Object[]} shotAnnotations * Shot annotations. Each shot is represented as a video segment. * @@ -655,6 +782,11 @@ const CelebrityRecognitionAnnotation = { * * This object should have the same structure as [LogoRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} * + * @property {Object[]} personDetectionAnnotations + * Person detection annotations. + * + * This object should have the same structure as [PersonDetectionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} + * * @property {Object} celebrityRecognitionAnnotations * Celebrity recognition annotations. * @@ -1423,6 +1555,11 @@ const Feature = { */ EXPLICIT_CONTENT_DETECTION: 3, + /** + * Human face detection. + */ + FACE_DETECTION: 4, + /** * Speech transcription. */ @@ -1446,7 +1583,12 @@ const Feature = { /** * Celebrity recognition. */ - CELEBRITY_RECOGNITION: 13 + CELEBRITY_RECOGNITION: 13, + + /** + * Person detection. + */ + PERSON_DETECTION: 14 }; /** diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 93246f6e085..9e1992306c4 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2020-01-24T12:41:24.060995Z", + "updateTime": "2020-01-28T22:44:43.779282Z", "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": "9c483584f8fd5a1b862ae07973f4cc7bb3e46648", + "internalRef": "292009868" } }, { @@ -98,15 +98,9 @@ { "path": ".github/release-please.yml" }, - { - "path": ".gitignore" - }, { "path": ".jsdoc.js" }, - { - "path": ".kokoro/.gitattributes" - }, { "path": ".kokoro/common.cfg" }, @@ -146,9 +140,6 @@ { "path": ".kokoro/lint.sh" }, - { - "path": ".kokoro/pre-samples-test.sh" - }, { "path": ".kokoro/presubmit/node10/common.cfg" }, @@ -221,12 +212,6 @@ { "path": ".prettierrc" }, - { - "path": ".repo-metadata.json" - }, - { - "path": "CHANGELOG.md" - }, { "path": "CODE_OF_CONDUCT.md" }, @@ -242,18 +227,9 @@ { "path": "codecov.yaml" }, - { - "path": "linkinator.config.json" - }, - { - "path": "package.json" - }, { "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" }, - { - "path": "protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto" - }, { "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" }, @@ -278,81 +254,12 @@ { "path": "renovate.json" }, - { - "path": "samples/.eslintrc.yml" - }, { "path": "samples/README.md" }, - { - "path": "samples/analyze-streaming-annotation-to-storage.js" - }, - { - "path": "samples/analyze-streaming-automl-classification.js" - }, - { - "path": "samples/analyze-streaming-labels.js" - }, - { - "path": "samples/analyze-streaming-object.js" - }, - { - "path": "samples/analyze-streaming-safe-search.js" - }, - { - "path": "samples/analyze-streaming-shot-change.js" - }, - { - "path": "samples/analyze.js" - }, - { - "path": "samples/analyze.v1p2beta1.js" - }, - { - "path": "samples/package.json" - }, - { - "path": "samples/quickstart.js" - }, - { - "path": "samples/resources/cat.mp4" - }, - { - "path": "samples/resources/googlework_short.mp4" - }, - { - "path": "samples/system-test/analyze-streaming-annotation-to-storage.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-automl-classification.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-labels.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-object.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-safe-search.test.js" - }, - { - "path": "samples/system-test/analyze-streaming-shot-change.test.js" - }, - { - "path": "samples/system-test/analyze.test.js" - }, - { - "path": "samples/system-test/analyze.v1p2beta1.test.js" - }, - { - "path": "samples/system-test/quickstart.test.js" - }, { "path": "src/browser.js" }, - { - "path": "src/index.js" - }, { "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js" }, @@ -497,15 +404,6 @@ { "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" }, - { - "path": "synth.py" - }, - { - "path": "system-test/.eslintrc.yml" - }, - { - "path": "system-test/video_intelligence_service_smoke_test.js" - }, { "path": "test/gapic-v1.js" }, @@ -521,9 +419,6 @@ { "path": "test/gapic-v1p3beta1.js" }, - { - "path": "test/mocha.opts" - }, { "path": "webpack.config.js" } From d3accb6065164f524d5d02a0fbd771a9875c0997 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 30 Jan 2020 15:39:47 -0800 Subject: [PATCH 249/418] chore: release 2.6.5 (#359) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index d6bc90c9f64..55cfd493de5 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [2.6.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.4...v2.6.5) (2020-01-29) + + +### Bug Fixes + +* new proto annotations; .d.ts enums support strings ([#358](https://www.github.com/googleapis/nodejs-video-intelligence/issues/358)) ([fabc337](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fabc337168c70a7cead33e6b782a408d691149b1)) + ### [2.6.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.3...v2.6.4) (2020-01-06) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 6fc8426a3dd..2c712db385a 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.4", + "version": "2.6.5", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 8af7516dbb2..659fd48487b 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.4", + "@google-cloud/video-intelligence": "^2.6.5", "yargs": "^15.0.0" }, "devDependencies": { From 313a38eabf2e0ad2881b74d91f171843b71eea77 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 31 Jan 2020 17:22:51 -0800 Subject: [PATCH 250/418] chore: skip img.shields.io in docs test --- packages/google-cloud-videointelligence/linkinator.config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index d780d6bfff5..b555215ca02 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -2,6 +2,7 @@ "recurse": true, "skip": [ "https://codecov.io/gh/googleapis/", - "www.googleapis.com" + "www.googleapis.com", + "img.shields.io" ] } From ab2259f339892a0981285944eb016a60c16dc337 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 31 Jan 2020 18:54:18 -0800 Subject: [PATCH 251/418] test: modernize mocha config (#360) --- packages/google-cloud-videointelligence/.mocharc.json | 5 +++++ packages/google-cloud-videointelligence/package.json | 2 -- packages/google-cloud-videointelligence/test/mocha.opts | 3 --- 3 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.mocharc.json delete mode 100644 packages/google-cloud-videointelligence/test/mocha.opts diff --git a/packages/google-cloud-videointelligence/.mocharc.json b/packages/google-cloud-videointelligence/.mocharc.json new file mode 100644 index 00000000000..670c5e2c24b --- /dev/null +++ b/packages/google-cloud-videointelligence/.mocharc.json @@ -0,0 +1,5 @@ +{ + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2c712db385a..00e5a164af8 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -48,14 +48,12 @@ "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.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", "c8": "^7.0.0", - "power-assert": "^1.6.1", "prettier": "^1.17.1" } } diff --git a/packages/google-cloud-videointelligence/test/mocha.opts b/packages/google-cloud-videointelligence/test/mocha.opts deleted file mode 100644 index 8751e7bae37..00000000000 --- a/packages/google-cloud-videointelligence/test/mocha.opts +++ /dev/null @@ -1,3 +0,0 @@ ---require intelli-espower-loader ---timeout 10000 ---throw-deprecation From 9783c37fd9c97a37be7a0ae77ca38676291daaa0 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 7 Feb 2020 15:46:51 -0800 Subject: [PATCH 252/418] feat: face and person detection samples (#362) Adds the following region tags: video_detect_person_beta video_detect_person_gcs_beta video_detect_faces_beta video_detect_faces_gcs_beta --- packages/google-cloud-videointelligence/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index c199edd9e91..38a485caf5f 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -10,3 +10,4 @@ system-test/*key.json package-lock.json .vscode __pycache__ +*.code-workspace \ No newline at end of file From c9c6b0c745c3cad2da8a81510cbc72e9131f0176 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 10 Feb 2020 18:05:04 +0100 Subject: [PATCH 253/418] chore(deps): update dependency linkinator to v2 --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 00e5a164af8..2bf03d3d4d0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -51,7 +51,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", "c8": "^7.0.0", "prettier": "^1.17.1" From 16516d1010342099c8b6fa9453e5384f8a2b86c8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 10 Feb 2020 11:33:14 -0800 Subject: [PATCH 254/418] docs: update auto-generated README Co-authored-by: Alexander Fenster --- .../google-cloud-videointelligence/README.md | 1 + .../samples/README.md | 18 + .../synth.metadata | 360 +----------------- 3 files changed, 26 insertions(+), 353 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index ca6787cc4f7..77e867ec67e 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -130,6 +130,7 @@ has instructions for running the samples. | Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | | Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | | Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | +| Analyze.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p3beta1.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 91b349c34f1..f84536fb13f 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -20,6 +20,7 @@ * [Analyze-streaming-shot-change](#analyze-streaming-shot-change) * [Analyze](#analyze) * [Analyze.v1p2beta1](#analyze.v1p2beta1) + * [Analyze.v1p3beta1](#analyze.v1p3beta1) * [Quickstart](#quickstart) ## Before you begin @@ -173,6 +174,23 @@ __Usage:__ +### Analyze.v1p3beta1 + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p3beta1.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p3beta1.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze.v1p3beta1.js` + + +----- + + + + ### Quickstart View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/quickstart.js). diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 9e1992306c4..3d25cdf5653 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,26 +1,27 @@ { - "updateTime": "2020-01-28T22:44:43.779282Z", + "updateTime": "2020-02-08T12:43:07.199915Z", "sources": [ { "generator": { "name": "artman", - "version": "0.44.3", - "dockerImage": "googleapis/artman@sha256:62b8b29acaae54b06a4183aa772e65b106e92d4bc466eb4db07953ab78bdb90c" + "version": "0.45.0", + "dockerImage": "googleapis/artman@sha256:6aec9c34db0e4be221cdaf6faba27bdc07cfea846808b3d3b964dfce3a9a0f9b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "9c483584f8fd5a1b862ae07973f4cc7bb3e46648", - "internalRef": "292009868" + "sha": "e7d8a694f4559201e6913f6610069cb08b39274e", + "internalRef": "293903652", + "log": "e7d8a694f4559201e6913f6610069cb08b39274e\nDepend on the latest gapic-generator and resource names plugin.\n\nThis fixes the very old an very annoying bug: https://github.com/googleapis/gapic-generator/pull/3087\n\nPiperOrigin-RevId: 293903652\n\n806b2854a966d55374ee26bb0cef4e30eda17b58\nfix: correct capitalization of Ruby namespaces in SecurityCenter V1p1beta1\n\nPiperOrigin-RevId: 293903613\n\n1b83c92462b14d67a7644e2980f723112472e03a\nPublish annotations and grpc service config for Logging API.\n\nPiperOrigin-RevId: 293893514\n\ne46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\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\n" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.10.17" + "version": "2020.2.4" } } ], @@ -75,352 +76,5 @@ "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.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": ".jsdoc.js" - }, - { - "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": "CODE_OF_CONDUCT.md" - }, - { - "path": "CONTRIBUTING.md" - }, - { - "path": "LICENSE" - }, - { - "path": "README.md" - }, - { - "path": "codecov.yaml" - }, - { - "path": "protos/google/cloud/videointelligence/v1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto" - }, - { - "path": "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto" - }, - { - "path": "protos/protos.d.ts" - }, - { - "path": "protos/protos.js" - }, - { - "path": "protos/protos.json" - }, - { - "path": "renovate.json" - }, - { - "path": "samples/README.md" - }, - { - "path": "src/browser.js" - }, - { - "path": "src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.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_duration.js" - }, - { - "path": "src/v1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1/index.js" - }, - { - "path": "src/v1/video_intelligence_service_client.js" - }, - { - "path": "src/v1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js" - }, - { - "path": "src/v1beta2/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1beta2/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1beta2/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1beta2/index.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_client.js" - }, - { - "path": "src/v1beta2/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1beta2/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js" - }, - { - "path": "src/v1p1beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_duration.js" - }, - { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p1beta1/index.js" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p1beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.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_duration.js" - }, - { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p2beta1/index.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p2beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.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_duration.js" - }, - { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p3beta1/index.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client.js" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_client_config.json" - }, - { - "path": "src/v1p3beta1/video_intelligence_service_proto_list.json" - }, - { - "path": "test/gapic-v1.js" - }, - { - "path": "test/gapic-v1beta2.js" - }, - { - "path": "test/gapic-v1p1beta1.js" - }, - { - "path": "test/gapic-v1p2beta1.js" - }, - { - "path": "test/gapic-v1p3beta1.js" - }, - { - "path": "webpack.config.js" - } ] } \ No newline at end of file From 5a92b9eb7a5a1934f7247164719f3910d00fe4ab Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 11 Feb 2020 22:36:24 -0800 Subject: [PATCH 255/418] 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-videointelligence/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2bf03d3d4d0..4b18d2a2558 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -36,7 +36,8 @@ "test": "c8 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-gax": "^1.7.5", From 7849836575f44506fa9dc4de051bc3a39acf8f3f Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Thu, 13 Feb 2020 13:20:23 -0800 Subject: [PATCH 256/418] fix: updates README file with correct links (#371) --- .../google-cloud-videointelligence/README.md | 5 +- .../samples/README.md | 64 +++++++++++++++++-- .../synth.metadata | 21 ++++-- 3 files changed, 80 insertions(+), 10 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 77e867ec67e..a41c133f6f4 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -130,7 +130,10 @@ has instructions for running the samples. | Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | | Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | | Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | -| Analyze.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p3beta1.js,samples/README.md) | +| Analyze_face_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection.js,samples/README.md) | +| Analyze_face_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) | +| Analyze_person_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection.js,samples/README.md) | +| Analyze_person_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection_gcs.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index f84536fb13f..bc1dd1e0bdb 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -20,7 +20,10 @@ * [Analyze-streaming-shot-change](#analyze-streaming-shot-change) * [Analyze](#analyze) * [Analyze.v1p2beta1](#analyze.v1p2beta1) - * [Analyze.v1p3beta1](#analyze.v1p3beta1) + * [Analyze_face_detection](#analyze_face_detection) + * [Analyze_face_detection_gcs](#analyze_face_detection_gcs) + * [Analyze_person_detection](#analyze_person_detection) + * [Analyze_person_detection_gcs](#analyze_person_detection_gcs) * [Quickstart](#quickstart) ## Before you begin @@ -174,16 +177,67 @@ __Usage:__ -### Analyze.v1p3beta1 +### Analyze_face_detection -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p3beta1.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p3beta1.js,samples/README.md) +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection.js,samples/README.md) __Usage:__ -`node samples/analyze.v1p3beta1.js` +`node samples/analyze_face_detection.js` + + +----- + + + + +### Analyze_face_detection_gcs + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze_face_detection_gcs.js` + + +----- + + + + +### Analyze_person_detection + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze_person_detection.js` + + +----- + + + + +### Analyze_person_detection_gcs + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection_gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection_gcs.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze_person_detection_gcs.js` ----- diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 3d25cdf5653..7a2d40faed4 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,6 +1,20 @@ { - "updateTime": "2020-02-08T12:43:07.199915Z", + "updateTime": "2020-02-13T20:34:22.826443Z", "sources": [ + { + "git": { + "name": ".", + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", + "sha": "eb9b400c24bdf306d8263ec402922b3235754034" + } + }, + { + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "f320a85654b7c8eedcce5f66e7ccc4fbf8fae6ac" + } + }, { "generator": { "name": "artman", @@ -12,9 +26,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e7d8a694f4559201e6913f6610069cb08b39274e", - "internalRef": "293903652", - "log": "e7d8a694f4559201e6913f6610069cb08b39274e\nDepend on the latest gapic-generator and resource names plugin.\n\nThis fixes the very old an very annoying bug: https://github.com/googleapis/gapic-generator/pull/3087\n\nPiperOrigin-RevId: 293903652\n\n806b2854a966d55374ee26bb0cef4e30eda17b58\nfix: correct capitalization of Ruby namespaces in SecurityCenter V1p1beta1\n\nPiperOrigin-RevId: 293903613\n\n1b83c92462b14d67a7644e2980f723112472e03a\nPublish annotations and grpc service config for Logging API.\n\nPiperOrigin-RevId: 293893514\n\ne46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\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\n" + "sha": "56b55aa8818cd0a532a7d779f6ef337ba809ccbd", + "internalRef": "294931650" } }, { From 52f3fdeb716481657f6da406bc2e28db9ba35973 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 14 Feb 2020 01:18:26 +0000 Subject: [PATCH 257/418] chore: release 2.7.0 :robot: I have created a release \*beep\* \*boop\* --- ## [2.7.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.5...v2.7.0) (2020-02-13) ### Features * face and person detection samples ([#362](https://www.github.com/googleapis/nodejs-video-intelligence/issues/362)) ([cff2f36](https://www.github.com/googleapis/nodejs-video-intelligence/commit/cff2f36a4e6294908a4e26587ed840c1ec1b03f8)) ### Bug Fixes * adds spaces to region tags, other fixes ([#369](https://www.github.com/googleapis/nodejs-video-intelligence/issues/369)) ([2b6943e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2b6943ee0685761a0076c7b8023eed4f12f93d64)) * fixes face and people detection region tags ([#367](https://www.github.com/googleapis/nodejs-video-intelligence/issues/367)) ([ab039b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ab039b56b3bea27edf93c4db7c97241599d38419)) * refactors person and face detection samples into separate files ([#370](https://www.github.com/googleapis/nodejs-video-intelligence/issues/370)) ([eb9b400](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eb9b400c24bdf306d8263ec402922b3235754034)) * updates README file with correct links ([#371](https://www.github.com/googleapis/nodejs-video-intelligence/issues/371)) ([fb2701a](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fb2701a81c7476ef06ab279a8d4572f006abe831)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- .../google-cloud-videointelligence/CHANGELOG.md | 15 +++++++++++++++ .../google-cloud-videointelligence/package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 55cfd493de5..29f76310d45 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,21 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.7.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.5...v2.7.0) (2020-02-13) + + +### Features + +* face and person detection samples ([#362](https://www.github.com/googleapis/nodejs-video-intelligence/issues/362)) ([cff2f36](https://www.github.com/googleapis/nodejs-video-intelligence/commit/cff2f36a4e6294908a4e26587ed840c1ec1b03f8)) + + +### Bug Fixes + +* adds spaces to region tags, other fixes ([#369](https://www.github.com/googleapis/nodejs-video-intelligence/issues/369)) ([2b6943e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2b6943ee0685761a0076c7b8023eed4f12f93d64)) +* fixes face and people detection region tags ([#367](https://www.github.com/googleapis/nodejs-video-intelligence/issues/367)) ([ab039b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ab039b56b3bea27edf93c4db7c97241599d38419)) +* refactors person and face detection samples into separate files ([#370](https://www.github.com/googleapis/nodejs-video-intelligence/issues/370)) ([eb9b400](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eb9b400c24bdf306d8263ec402922b3235754034)) +* updates README file with correct links ([#371](https://www.github.com/googleapis/nodejs-video-intelligence/issues/371)) ([fb2701a](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fb2701a81c7476ef06ab279a8d4572f006abe831)) + ### [2.6.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.4...v2.6.5) (2020-01-29) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4b18d2a2558..be0524a3073 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.6.5", + "version": "2.7.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 659fd48487b..f4f66d11982 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.6.5", + "@google-cloud/video-intelligence": "^2.7.0", "yargs": "^15.0.0" }, "devDependencies": { From f0df4ddee671c85bcb8257c9fb2830f936928539 Mon Sep 17 00:00:00 2001 From: Summer Ji Date: Thu, 27 Feb 2020 12:06:06 -0800 Subject: [PATCH 258/418] chore: update jsdoc.js (#373) --- packages/google-cloud-videointelligence/.jsdoc.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 7483ebf3044..34cb55e9a47 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', - theme: 'lumen' + theme: 'lumen', + default: { + "outputSourceFiles": false + } }, markdown: { idInHeadings: true From 66b4b01acd6d460dea3f2254020cc540d37ae630 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 6 Mar 2020 13:22:40 -0800 Subject: [PATCH 259/418] build: update linkinator config (#376) --- .../google-cloud-videointelligence/linkinator.config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index b555215ca02..29a223b6db6 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -4,5 +4,7 @@ "https://codecov.io/gh/googleapis/", "www.googleapis.com", "img.shields.io" - ] + ], + "silent": true, + "concurrency": 10 } From 05252e088eeb283d3961fbd19aa0a0e3a7f65c1c Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Mar 2020 15:50:06 -0800 Subject: [PATCH 260/418] build(tests): fix coveralls and enable build cop (#383) --- .../.mocharc.js | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/google-cloud-videointelligence/.mocharc.js diff --git a/packages/google-cloud-videointelligence/.mocharc.js b/packages/google-cloud-videointelligence/.mocharc.js new file mode 100644 index 00000000000..ff7b34fa5d1 --- /dev/null +++ b/packages/google-cloud-videointelligence/.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 1f69d42d53eb045ad06b6c94f7fc04f9ee109c84 Mon Sep 17 00:00:00 2001 From: Summer Ji Date: Sun, 8 Mar 2020 21:34:59 -0700 Subject: [PATCH 261/418] feat: typescript conversion on video-intelligence (#375) * Remove .js files and add .ts files * update package.json, jsdoc.js files --- .../google-cloud-videointelligence/.gitignore | 5 +- .../google-cloud-videointelligence/.jsdoc.js | 8 +- .../package.json | 48 +- .../v1/video_intelligence.proto | 4 +- .../v1beta2/video_intelligence.proto | 4 +- .../v1p1beta1/video_intelligence.proto | 4 +- .../v1p2beta1/video_intelligence.proto | 4 +- .../v1p3beta1/video_intelligence.proto | 4 +- .../src/index.js | 146 -- .../src/index.ts | 46 + .../v1/doc_video_intelligence.js | 1159 ----------- .../doc/google/longrunning/doc_operations.js | 63 - .../src/v1/doc/google/protobuf/doc_any.js | 137 -- .../v1/doc/google/protobuf/doc_duration.js | 97 - .../src/v1/doc/google/rpc/doc_status.js | 47 - .../src/{browser.js => v1/index.ts} | 14 +- ...s => video_intelligence_service_client.ts} | 367 ++-- ...eo_intelligence_service_client_config.json | 25 +- .../v1beta2/doc_video_intelligence.js | 652 ------- .../doc/google/longrunning/doc_operations.js | 63 - .../v1beta2/doc/google/protobuf/doc_any.js | 137 -- .../doc/google/protobuf/doc_duration.js | 97 - .../src/v1beta2/doc/google/rpc/doc_status.js | 47 - .../src/{v1/index.js => v1beta2/index.ts} | 12 +- ...s => video_intelligence_service_client.ts} | 364 ++-- ...eo_intelligence_service_client_config.json | 23 +- .../v1p1beta1/doc_video_intelligence.js | 690 ------- .../doc/google/longrunning/doc_operations.js | 63 - .../v1p1beta1/doc/google/protobuf/doc_any.js | 137 -- .../doc/google/protobuf/doc_duration.js | 97 - .../v1p1beta1/doc/google/rpc/doc_status.js | 47 - .../{v1beta2/index.js => v1p1beta1/index.ts} | 12 +- ...s => video_intelligence_service_client.ts} | 364 ++-- ...eo_intelligence_service_client_config.json | 21 +- .../v1p2beta1/doc_video_intelligence.js | 770 -------- .../doc/google/longrunning/doc_operations.js | 63 - .../v1p2beta1/doc/google/protobuf/doc_any.js | 137 -- .../doc/google/protobuf/doc_duration.js | 97 - .../v1p2beta1/doc/google/rpc/doc_status.js | 47 - .../src/v1p2beta1/index.js | 19 - .../index.js => v1p2beta1/index.ts} | 12 +- ...s => video_intelligence_service_client.ts} | 364 ++-- ...eo_intelligence_service_client_config.json | 21 +- .../v1p3beta1/doc_video_intelligence.js | 1704 ----------------- .../doc/google/longrunning/doc_operations.js | 63 - .../v1p3beta1/doc/google/protobuf/doc_any.js | 137 -- .../doc/google/protobuf/doc_duration.js | 97 - .../v1p3beta1/doc/google/rpc/doc_status.js | 47 - .../src/v1p3beta1/index.js | 21 - .../src/v1p3beta1/index.ts | 20 + ...ming_video_intelligence_service_client.ts} | 184 +- ...eo_intelligence_service_client_config.json | 12 +- ...s => video_intelligence_service_client.ts} | 364 ++-- ...eo_intelligence_service_client_config.json | 21 +- .../synth.metadata | 53 +- .../google-cloud-videointelligence/synth.py | 24 +- .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 26 + .../system-test/install.ts | 51 + ... video_intelligence_service_smoke_test.ts} | 23 +- ...ng_video_intelligence_service-v1p3beta1.ts | 157 ++ .../test/gapic-v1p3beta1.js | 300 --- ...=> gapic-video_intelligence_service-v1.ts} | 166 +- ...pic-video_intelligence_service-v1beta2.ts} | 167 +- ...c-video_intelligence_service-v1p1beta1.ts} | 167 +- ...c-video_intelligence_service-v1p2beta1.ts} | 170 +- ...ic-video_intelligence_service-v1p3beta1.ts | 162 ++ .../tsconfig.json | 19 + .../tslint.json | 3 + .../webpack.config.js | 34 +- 70 files changed, 2111 insertions(+), 8646 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/src/index.js create mode 100644 packages/google-cloud-videointelligence/src/index.ts delete mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js delete mode 100644 packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js rename packages/google-cloud-videointelligence/src/{browser.js => v1/index.ts} (64%) rename packages/google-cloud-videointelligence/src/v1/{video_intelligence_service_client.js => video_intelligence_service_client.ts} (54%) delete mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js delete mode 100644 packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js rename packages/google-cloud-videointelligence/src/{v1/index.js => v1beta2/index.ts} (64%) rename packages/google-cloud-videointelligence/src/v1beta2/{video_intelligence_service_client.js => video_intelligence_service_client.ts} (55%) delete mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js rename packages/google-cloud-videointelligence/src/{v1beta2/index.js => v1p1beta1/index.ts} (64%) rename packages/google-cloud-videointelligence/src/v1p1beta1/{video_intelligence_service_client.js => video_intelligence_service_client.ts} (54%) delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/index.js rename packages/google-cloud-videointelligence/src/{v1p1beta1/index.js => v1p2beta1/index.ts} (64%) rename packages/google-cloud-videointelligence/src/v1p2beta1/{video_intelligence_service_client.js => video_intelligence_service_client.ts} (54%) delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/index.js create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/index.ts rename packages/google-cloud-videointelligence/src/v1p3beta1/{streaming_video_intelligence_service_client.js => streaming_video_intelligence_service_client.ts} (62%) rename packages/google-cloud-videointelligence/src/v1p3beta1/{video_intelligence_service_client.js => video_intelligence_service_client.ts} (55%) create mode 100644 packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js create mode 100644 packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts create mode 100644 packages/google-cloud-videointelligence/system-test/install.ts rename packages/google-cloud-videointelligence/system-test/{video_intelligence_service_smoke_test.js => video_intelligence_service_smoke_test.ts} (89%) create mode 100644 packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js rename packages/google-cloud-videointelligence/test/{gapic-v1p2beta1.js => gapic-video_intelligence_service-v1.ts} (54%) rename packages/google-cloud-videointelligence/test/{gapic-v1beta2.js => gapic-video_intelligence_service-v1beta2.ts} (51%) rename packages/google-cloud-videointelligence/test/{gapic-v1p1beta1.js => gapic-video_intelligence_service-v1p1beta1.ts} (51%) rename packages/google-cloud-videointelligence/test/{gapic-v1.js => gapic-video_intelligence_service-v1p2beta1.ts} (50%) create mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts create mode 100644 packages/google-cloud-videointelligence/tsconfig.json create mode 100644 packages/google-cloud-videointelligence/tslint.json diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index 38a485caf5f..5d32b23782f 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -1,13 +1,14 @@ **/*.log **/node_modules .coverage +coverage .nyc_output docs/ out/ +build/ system-test/secrets.js system-test/*key.json *.lock +.DS_Store package-lock.json -.vscode __pycache__ -*.code-workspace \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 34cb55e9a47..38161bb575d 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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,8 @@ module.exports = { source: { excludePattern: '(^|\\/|\\\\)[._]', include: [ - 'src' + 'build/src', + 'protos' ], includePattern: '\\.js$' }, @@ -42,7 +46,7 @@ module.exports = { systemName: '@google-cloud/video-intelligence', theme: 'lumen', default: { - "outputSourceFiles": false + outputSourceFiles: false } }, markdown: { diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index be0524a3073..ed93f1d410b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -8,11 +8,10 @@ "node": ">=8.10.0" }, "repository": "googleapis/nodejs-video-intelligence", - "main": "src/index.js", + "main": "build/src/index.js", "files": [ - "protos", - "src", - "AUTHORS", + "build/protos", + "build/src", "LICENSE" ], "keywords": [ @@ -30,31 +29,42 @@ ], "scripts": { "docs": "jsdoc -c .jsdoc.js", - "lint": "eslint '**/*.js'", - "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", - "system-test": "mocha system-test/*.js --timeout 600000", - "test": "c8 mocha", + "lint": "gts fix && eslint --fix samples/*.js", + "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", + "system-test": "c8 mocha build/system-test --timeout 600000", + "test": "c8 mocha build/test", "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-gax": "^1.7.5", - "protobufjs": "^6.8.8" + "google-gax": "^1.14.2" }, "devDependencies": { - "codecov": "^3.4.0", + "@types/mocha": "^5.2.7", + "@types/node": "^12.12.29", + "c8": "^7.0.0", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.0", - "jsdoc": "^3.6.2", - "jsdoc-fresh": "^1.0.1", - "jsdoc-region-tag": "^1.0.2", - "linkinator": "^2.0.0", - "mocha": "^7.0.0", - "c8": "^7.0.0", - "prettier": "^1.17.1" + "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.1.0", + "null-loader": "^3.0.0", + "pack-n-play": "^1.0.0-2", + "prettier": "^1.17.1", + "ts-loader": "^6.2.1", + "typescript": "^3.8.3", + "webpack": "^4.42.0", + "webpack-cli": "^3.3.11" } } diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 6611e9eb2c6..ee7d618fbc2 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -62,7 +62,7 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). // A video URI may include wildcards in `object-id`, and thus identify // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded @@ -85,7 +85,7 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index 8e80640e05c..690099751da 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -64,7 +64,7 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). A video + // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video // URI may include wildcards in `object-id`, and thus identify multiple // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded @@ -87,7 +87,7 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). + // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index 44d3ca64162..a54bddd07d0 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -62,7 +62,7 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). // A video URI may include wildcards in `object-id`, and thus identify // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded @@ -85,7 +85,7 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index 044233b09d2..3b1d51cd775 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -62,7 +62,7 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). // A video URI may include wildcards in `object-id`, and thus identify // multiple videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded @@ -85,7 +85,7 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](/storage/docs/reference-uris). + // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 942f63be8a9..3d418e2ff64 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -76,7 +76,7 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). A video + // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video // URI may include wildcards in `object-id`, and thus identify multiple // videos. Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded @@ -99,7 +99,7 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](/storage/docs/reference-uris). + // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/src/index.js b/packages/google-cloud-videointelligence/src/index.js deleted file mode 100644 index 45ce8cf6828..00000000000 --- a/packages/google-cloud-videointelligence/src/index.js +++ /dev/null @@ -1,146 +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. - -/** - * @namespace google.protobuf - */ -/** - * @namespace google.rpc - */ -/** - * @namespace google.longrunning - */ -/** - * @namespace google.cloud.videointelligence - */ -/** - * @namespace google.cloud.videointelligence.v1 - */ -/** - * @namespace google.cloud.videointelligence.v1beta2 - */ -/** - * @namespace google.cloud.videointelligence.v1p1beta1 - */ -/** - * @namespace google.cloud.videointelligence.v1p2beta1 - */ -/** - * @namespace google.cloud.videointelligence.v1p3beta1 - */ - -'use strict'; - -// Import the clients for each version supported by this package. -const gapic = Object.freeze({ - v1: require('./v1'), - v1beta2: require('./v1beta2'), - v1p1beta1: require('./v1p1beta1'), - v1p2beta1: require('./v1p2beta1'), - v1p3beta1: require('./v1p3beta1'), -}); - -/** - * The `@google-cloud/video-intelligence` package has the following named exports: - * - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1.VideoIntelligenceServiceClient} - * - `v1` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1.VideoIntelligenceServiceClient} - * - `v1beta2` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1beta2.VideoIntelligenceServiceClient} - * - `v1p1beta1` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1p1beta1.VideoIntelligenceServiceClient} - * - `v1p2beta1` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1p2beta1.VideoIntelligenceServiceClient} - * - `v1p3beta1` - This is used for selecting or pinning a - * particular backend service version. It exports: - * - `VideoIntelligenceServiceClient` - Reference to - * {@link v1p3beta1.VideoIntelligenceServiceClient} - * - * @module {object} @google-cloud/video-intelligence - * @alias nodejs-video-intelligence - * - * @example Install the client library with npm: - * npm install --save @google-cloud/video-intelligence - * - * @example Import the client library: - * const videoIntelligence = require('@google-cloud/video-intelligence'); - * - * @example Create a client that uses Application Default Credentials (ADC): - * const client = new videoIntelligence.VideoIntelligenceServiceClient(); - * - * @example Create a client with explicit credentials: - * const client = new videoIntelligence.VideoIntelligenceServiceClient({ - * projectId: 'your-project-id', - * keyFilename: '/path/to/keyfile.json', - * }); - * - * @example include:samples/quickstart.js - * region_tag:video_quickstart - * Full quickstart example: - */ - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1.VideoIntelligenceServiceClient} - */ -module.exports = gapic.v1; - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1.VideoIntelligenceServiceClient} - */ -module.exports.v1 = gapic.v1; - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1beta2.VideoIntelligenceServiceClient} - */ -module.exports.v1beta2 = gapic.v1beta2; - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1p1beta1.VideoIntelligenceServiceClient} - */ -module.exports.v1p1beta1 = gapic.v1p1beta1; - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1p2beta1.VideoIntelligenceServiceClient} - */ -module.exports.v1p2beta1 = gapic.v1p2beta1; - -/** - * @type {object} - * @property {constructor} VideoIntelligenceServiceClient - * Reference to {@link v1p3beta1.VideoIntelligenceServiceClient} - */ -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-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts new file mode 100644 index 00000000000..5def8117af1 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -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. +// +// ** 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 v1beta2 from './v1beta2'; +import * as v1p1beta1 from './v1p1beta1'; +import * as v1p2beta1 from './v1p2beta1'; +import * as v1p3beta1 from './v1p3beta1'; +const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; +const StreamingVideoIntelligenceServiceClient = + v1p3beta1.StreamingVideoIntelligenceServiceClient; +export { + v1, + v1beta2, + v1p1beta1, + v1p2beta1, + v1p3beta1, + VideoIntelligenceServiceClient, + StreamingVideoIntelligenceServiceClient, +}; +// For compatibility with JavaScript libraries we need to provide this default export: +// tslint:disable-next-line no-default-export +export default { + v1, + v1beta2, + v1p1beta1, + v1p2beta1, + v1p3beta1, + VideoIntelligenceServiceClient, + StreamingVideoIntelligenceServiceClient, +}; diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js deleted file mode 100644 index e7ecaf471eb..00000000000 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/cloud/videointelligence/v1/doc_video_intelligence.js +++ /dev/null @@ -1,1159 +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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {Buffer} inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * - * @property {number[]} features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} - * - * @property {string} outputUri - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video is - * treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. - * - * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1.LabelDetectionConfig} - * - * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} - * - * @property {Object} faceDetectionConfig - * Config for FACE_DETECTION. - * - * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1.FaceDetectionConfig} - * - * @property {Object} speechTranscriptionConfig - * Config for SPEECH_TRANSCRIPTION. - * - * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig} - * - * @property {Object} textDetectionConfig - * Config for TEXT_DETECTION. - * - * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1.TextDetectionConfig} - * - * @property {Object} objectTrackingConfig - * Config for OBJECT_TRACKING. - * - * This object should have the same structure as [ObjectTrackingConfig]{@link google.cloud.videointelligence.v1.ObjectTrackingConfig} - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for LABEL_DETECTION. - * - * @property {number} labelDetectionMode - * What labels should be detected with LABEL_DETECTION, in addition to - * video-level labels or segment-level labels. - * If unspecified, defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * Should be used with `SHOT_AND_FRAME_MODE` enabled. - * - * @property {string} model - * Model to use for label detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {number} frameConfidenceThreshold - * The confidence threshold we perform filtering on the labels from - * frame-level detection. If not set, it is set to 0.4 by default. The valid - * range for this threshold is [0.1, 0.9]. Any value set outside of this - * range will be clipped. - * Note: for best results please follow the default threshold. We will update - * the default threshold everytime when we release a new model. - * - * @property {number} videoConfidenceThreshold - * The confidence threshold we perform filtering on the labels from - * video-level and shot-level detections. If not set, it is set to 0.3 by - * default. The valid range for this threshold is [0.1, 0.9]. Any value set - * outside of this range will be clipped. - * Note: for best results please follow the default threshold. We will update - * the default threshold everytime when we release a new model. - * - * @typedef LabelDetectionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const LabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SHOT_CHANGE_DETECTION. - * - * @property {string} model - * Model to use for shot change detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for OBJECT_TRACKING. - * - * @property {string} model - * Model to use for object tracking. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ObjectTrackingConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ObjectTrackingConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for FACE_DETECTION. - * - * @property {string} model - * Model to use for face detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {boolean} includeBoundingBoxes - * Whether bounding boxes be included in the face annotation output. - * - * @typedef FaceDetectionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const FaceDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for EXPLICIT_CONTENT_DETECTION. - * - * @property {string} model - * Model to use for explicit content detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for TEXT_DETECTION. - * - * @property {string[]} languageHints - * Language hint can be specified if the language to be detected is known a - * priori. It can increase the accuracy of the detection. Language hint must - * be language code in BCP-47 format. - * - * Automatic language detection is performed if no hint is provided. - * - * @property {string} model - * Model to use for text detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef TextDetectionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const TextDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {Object} startTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the start of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the end of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for label detection. - * - * @property {Object} segment - * Video segment where a label was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelSegment - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const LabelSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for label detection. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelFrame - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const LabelFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Detected entity from video analysis. - * - * @property {string} entityId - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @typedef Entity - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const Entity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {Object} entity - * Detected entity. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} - * - * @property {Object[]} categoryEntities - * Common categories for the detected entity. - * E.g. when the label is `Terrier` the category is likely `dog`. And in some - * cases there might be more than one categories e.g. `Terrier` could also be - * a `pet`. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} - * - * @property {Object[]} segments - * All video segments where a label was detected. - * - * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1.LabelSegment} - * - * @property {Object[]} frames - * All video frames where a label was detected. - * - * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1.LabelFrame} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for explicit content. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} pornographyLikelihood - * Likelihood of the pornography content.. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1.Likelihood} - * - * @typedef ExplicitContentFrame - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ExplicitContentFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Explicit content annotation (based on per-frame visual signals only). - * If no explicit content has been detected in a frame, no annotations are - * present for that frame. - * - * @property {Object[]} frames - * All video frames where explicit content was detected. - * - * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1.ExplicitContentFrame} - * - * @typedef ExplicitContentAnnotation - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ExplicitContentAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding box. - * The normalized vertex coordinates are relative to the original image. - * Range: [0, 1]. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @typedef NormalizedBoundingBox - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const NormalizedBoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for face detection. - * - * @property {Object} segment - * Video segment where a face was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @typedef FaceSegment - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const FaceSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for face detection. - * - * @property {Object[]} normalizedBoundingBoxes - * Normalized Bounding boxes in a frame. - * There can be more than one boxes if the same face is detected in multiple - * locations within the current frame. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef FaceFrame - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const FaceFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face annotation. - * - * @property {Buffer} thumbnail - * Thumbnail of a representative face view (in JPEG format). - * - * @property {Object[]} segments - * All video segments where a face was detected. - * - * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1.FaceSegment} - * - * @property {Object[]} frames - * All video frames where a face was detected. - * - * This object should have the same structure as [FaceFrame]{@link google.cloud.videointelligence.v1.FaceFrame} - * - * @typedef FaceAnnotation - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object} segment - * Video segment on which the annotation is run. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {Object[]} segmentLabelAnnotations - * Topical label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} - * - * @property {Object[]} segmentPresenceLabelAnnotations - * Presence label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. Compared to the - * existing topical `segment_label_annotations`, this field presents more - * fine-grained, segment-level labels detected in video content and is made - * available only when the client sets `LabelDetectionConfig.model` to - * "builtin/latest" in the request. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} - * - * @property {Object[]} shotLabelAnnotations - * Topical label annotations on shot level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} - * - * @property {Object[]} shotPresenceLabelAnnotations - * Presence label annotations on shot level. There is exactly one element for - * each unique label. Compared to the existing topical - * `shot_label_annotations`, this field presents more fine-grained, shot-level - * labels detected in video content and is made available only when the client - * sets `LabelDetectionConfig.model` to "builtin/latest" in the request. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} - * - * @property {Object[]} frameLabelAnnotations - * Label annotations on frame level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1.LabelAnnotation} - * - * @property {Object[]} faceAnnotations - * Face annotations. There is exactly one element for each unique face. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1.FaceAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {Object} explicitAnnotation - * Explicit content annotation. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1.ExplicitContentAnnotation} - * - * @property {Object[]} speechTranscriptions - * Speech transcription. - * - * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1.SpeechTranscription} - * - * @property {Object[]} textAnnotations - * OCR text detection and tracking. - * Annotations for list of detected text snippets. Each will have list of - * frame information associated with it. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1.TextAnnotation} - * - * @property {Object[]} objectAnnotations - * Annotations for list of objects detected and tracked in video. - * - * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation} - * - * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Approximate percentage processed thus far. Guaranteed to be - * 100 when fully processed. - * - * @property {Object} startTime - * Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {number} feature - * Specifies which feature is being tracked if the request contains more than - * one features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} - * - * @property {Object} segment - * Specifies which segment is being tracked if the request contains more than - * one segments. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SPEECH_TRANSCRIPTION. - * - * @property {string} languageCode - * Required. *Required* The language of the supplied audio as a - * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. - * Example: "en-US". - * See [Language Support](https://cloud.google.com/speech/docs/languages) - * for a list of the currently supported language codes. - * - * @property {number} maxAlternatives - * Optional. Maximum number of recognition hypotheses to be returned. - * Specifically, the maximum number of `SpeechRecognitionAlternative` messages - * within each `SpeechTranscription`. The server may return fewer than - * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will - * return a maximum of one. If omitted, will return a maximum of one. - * - * @property {boolean} filterProfanity - * Optional. If set to `true`, the server will attempt to filter out - * profanities, replacing all but the initial character in each filtered word - * with asterisks, e.g. "f***". If set to `false` or omitted, profanities - * won't be filtered out. - * - * @property {Object[]} speechContexts - * Optional. A means to provide context to assist the speech recognition. - * - * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1.SpeechContext} - * - * @property {boolean} enableAutomaticPunctuation - * Optional. If 'true', adds punctuation to recognition result hypotheses. - * This feature is only available in select languages. Setting this for - * requests in other languages has no effect at all. The default 'false' value - * does not add punctuation to result hypotheses. NOTE: "This is currently - * offered as an experimental service, complimentary to all users. In the - * future this may be exclusively available as a premium feature." - * - * @property {number[]} audioTracks - * Optional. For file formats, such as MXF or MKV, supporting multiple audio - * tracks, specify up to two tracks. Default: track 0. - * - * @property {boolean} enableSpeakerDiarization - * Optional. If 'true', enables speaker detection for each recognized word in - * the top alternative of the recognition result using a speaker_tag provided - * in the WordInfo. - * Note: When this is true, we send all the words from the beginning of the - * audio for the top alternative in every consecutive responses. - * This is done in order to improve our speaker tags as our models learn to - * identify the speakers in the conversation over time. - * - * @property {number} diarizationSpeakerCount - * Optional. If set, specifies the estimated number of speakers in the conversation. - * If not set, defaults to '2'. - * Ignored unless enable_speaker_diarization is set to true. - * - * @property {boolean} enableWordConfidence - * Optional. If `true`, the top result includes a list of words and the - * confidence for those words. If `false`, no word-level confidence - * information is returned. The default is `false`. - * - * @typedef SpeechTranscriptionConfig - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const SpeechTranscriptionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Provides "hints" to the speech recognizer to favor specific words and phrases - * in the results. - * - * @property {string[]} phrases - * Optional. A list of strings containing words and phrases "hints" so that - * the speech recognition is more likely to recognize them. This can be used - * to improve the accuracy for specific words and phrases, for example, if - * specific commands are typically spoken by the user. This can also be used - * to add additional words to the vocabulary of the recognizer. See - * [usage limits](https://cloud.google.com/speech/limits#content). - * - * @typedef SpeechContext - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const SpeechContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A speech recognition result corresponding to a portion of the audio. - * - * @property {Object[]} alternatives - * May contain one or more recognition hypotheses (up to the maximum specified - * in `max_alternatives`). These alternatives are ordered in terms of - * accuracy, with the top (first) alternative being the most probable, as - * ranked by the recognizer. - * - * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative} - * - * @property {string} languageCode - * Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of - * the language in this result. This language code was detected to have the - * most likelihood of being spoken in the audio. - * - * @typedef SpeechTranscription - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const SpeechTranscription = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Alternative hypotheses (a.k.a. n-best list). - * - * @property {string} transcript - * Transcript text representing the words that the user spoke. - * - * @property {number} confidence - * Output only. The confidence estimate between 0.0 and 1.0. A higher number - * indicates an estimated greater likelihood that the recognized words are - * correct. This field is set only for the top alternative. - * This field is not guaranteed to be accurate and users should not rely on it - * to be always provided. - * The default of 0.0 is a sentinel value indicating `confidence` was not set. - * - * @property {Object[]} words - * Output only. A list of word-specific information for each recognized word. - * Note: When `enable_speaker_diarization` is true, you will see all the words - * from the beginning of the audio. - * - * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1.WordInfo} - * - * @typedef SpeechRecognitionAlternative - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const SpeechRecognitionAlternative = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Word-specific information for recognized words. Word information is only - * included in the response when certain request parameters are set, such - * as `enable_word_time_offsets`. - * - * @property {Object} startTime - * Time offset relative to the beginning of the audio, and - * corresponding to the start of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTime - * Time offset relative to the beginning of the audio, and - * corresponding to the end of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {string} word - * The word corresponding to this set of information. - * - * @property {number} confidence - * Output only. The confidence estimate between 0.0 and 1.0. A higher number - * indicates an estimated greater likelihood that the recognized words are - * correct. This field is set only for the top alternative. - * This field is not guaranteed to be accurate and users should not rely on it - * to be always provided. - * The default of 0.0 is a sentinel value indicating `confidence` was not set. - * - * @property {number} speakerTag - * Output only. A distinct integer value is assigned for every speaker within - * the audio. This field specifies which one of those speakers was detected to - * have spoken this word. Value ranges from 1 up to diarization_speaker_count, - * and is only set if speaker diarization is enabled. - * - * @typedef WordInfo - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const WordInfo = { - // 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.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding polygon for text (that might not be aligned with axis). - * Contains list of the corner points in clockwise order starting from - * top-left corner. For example, for a rectangular bounding box: - * When the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * - * When it's clockwise 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). Note that values can be less - * than 0, or greater than 1 due to trignometric calculations for location of - * the box. - * - * @property {Object[]} vertices - * Normalized vertices of the bounding polygon. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1.NormalizedVertex} - * - * @typedef NormalizedBoundingPoly - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const NormalizedBoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for text detection. - * - * @property {Object} segment - * Video segment where a text snippet was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {number} confidence - * Confidence for the track of detected text. It is calculated as the highest - * over all frames where OCR detected text appears. - * - * @property {Object[]} frames - * Information related to the frames where OCR detected text appears. - * - * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1.TextFrame} - * - * @typedef TextSegment - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const TextSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for text annotation (OCR). - * Contains information regarding timestamp and bounding box locations for the - * frames containing detected OCR text snippets. - * - * @property {Object} rotatedBoundingBox - * Bounding polygon of the detected text for this frame. - * - * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1.NormalizedBoundingPoly} - * - * @property {Object} timeOffset - * Timestamp of this frame. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef TextFrame - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const TextFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations related to one detected OCR text snippet. This will contain the - * corresponding text, confidence value, and frame level information for each - * detection. - * - * @property {string} text - * The detected text. - * - * @property {Object[]} segments - * All video segments where OCR detected text appears. - * - * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1.TextSegment} - * - * @typedef TextAnnotation - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotations for object detection and tracking. This field - * stores per frame location, time offset, and confidence. - * - * @property {Object} normalizedBoundingBox - * The normalized bounding box location of this object track for the frame. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * The timestamp of the frame in microseconds. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef ObjectTrackingFrame - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ObjectTrackingFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations corresponding to one tracked object. - * - * @property {Object} segment - * Non-streaming batch mode ONLY. - * Each object track corresponds to one video segment where it appears. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1.VideoSegment} - * - * @property {number} trackId - * Streaming mode ONLY. - * In streaming mode, we do not know the end time of a tracked object - * before it is completed. Hence, there is no VideoSegment info returned. - * Instead, we provide a unique identifiable integer track_id so that - * the customers can correlate the results of the ongoing - * ObjectTrackAnnotation of the same track_id over time. - * - * @property {Object} entity - * Entity to specify the object category that this track is labeled as. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1.Entity} - * - * @property {number} confidence - * Object category's labeling confidence of this track. - * - * @property {Object[]} frames - * Information corresponding to all frames where this object track appears. - * Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame - * messages in frames. - * Streaming mode: it can only be one ObjectTrackingFrame message in frames. - * - * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1.ObjectTrackingFrame} - * - * @typedef ObjectTrackingAnnotation - * @memberof google.cloud.videointelligence.v1 - * @see [google.cloud.videointelligence.v1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1/video_intelligence.proto} - */ -const ObjectTrackingAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - EXPLICIT_CONTENT_DETECTION: 3, - - /** - * Human face detection and tracking. - */ - FACE_DETECTION: 4, - - /** - * Speech transcription. - */ - SPEECH_TRANSCRIPTION: 6, - - /** - * OCR text detection and tracking. - */ - TEXT_DETECTION: 7, - - /** - * Object detection and tracking. - */ - OBJECT_TRACKING: 9 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1 - */ -const Likelihood = { - - /** - * Unspecified likelihood. - */ - LIKELIHOOD_UNSPECIFIED: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js deleted file mode 100644 index bd4b4ee6067..00000000000 --- a/packages/google-cloud-videointelligence/src/v1/doc/google/protobuf/doc_duration.js +++ /dev/null @@ -1,97 +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 Duration represents a signed, fixed-length span of time represented - * as a count of seconds and fractions of seconds at nanosecond - * resolution. It is independent of any calendar and concepts like "day" - * or "month". It is related to Timestamp in that the difference between - * two Timestamp values is a Duration and it can be added or subtracted - * from a Timestamp. Range is approximately +-10,000 years. - * - * # Examples - * - * Example 1: Compute Duration from two Timestamps in pseudo code. - * - * Timestamp start = ...; - * Timestamp end = ...; - * Duration duration = ...; - * - * duration.seconds = end.seconds - start.seconds; - * duration.nanos = end.nanos - start.nanos; - * - * if (duration.seconds < 0 && duration.nanos > 0) { - * duration.seconds += 1; - * duration.nanos -= 1000000000; - * } else if (durations.seconds > 0 && duration.nanos < 0) { - * duration.seconds -= 1; - * duration.nanos += 1000000000; - * } - * - * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - * - * Timestamp start = ...; - * Duration duration = ...; - * Timestamp end = ...; - * - * end.seconds = start.seconds + duration.seconds; - * end.nanos = start.nanos + duration.nanos; - * - * if (end.nanos < 0) { - * end.seconds -= 1; - * end.nanos += 1000000000; - * } else if (end.nanos >= 1000000000) { - * end.seconds += 1; - * end.nanos -= 1000000000; - * } - * - * Example 3: Compute Duration from datetime.timedelta in Python. - * - * td = datetime.timedelta(days=3, minutes=10) - * duration = Duration() - * duration.FromTimedelta(td) - * - * # JSON Mapping - * - * In JSON format, the Duration type is encoded as a string rather than an - * object, where the string ends in the suffix "s" (indicating seconds) and - * is preceded by the number of seconds, with nanoseconds expressed as - * fractional seconds. For example, 3 seconds with 0 nanoseconds should be - * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - * microsecond should be expressed in JSON format as "3.000001s". - * - * @property {number} seconds - * Signed seconds of the span of time. Must be from -315,576,000,000 - * to +315,576,000,000 inclusive. Note: these bounds are computed from: - * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - * - * @property {number} nanos - * Signed fractions of a second at nanosecond resolution of the span - * of time. Durations less than one second are represented with a 0 - * `seconds` field and a positive or negative `nanos` field. For durations - * of one second or more, a non-zero value for the `nanos` field must be - * of the same sign as the `seconds` field. Must be from -999,999,999 - * to +999,999,999 inclusive. - * - * @typedef Duration - * @memberof google.protobuf - * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ -const Duration = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/browser.js b/packages/google-cloud-videointelligence/src/v1/index.ts similarity index 64% rename from packages/google-cloud-videointelligence/src/browser.js rename to packages/google-cloud-videointelligence/src/v1/index.ts index 68dc62d25d6..b4969ebdd1f 100644 --- a/packages/google-cloud-videointelligence/src/browser.js +++ b/packages/google-cloud-videointelligence/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,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 {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts similarity index 54% rename from packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index ac23daa002f..48b8adde745 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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,22 +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, + LROperation, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. - * + * Service that implements Google Cloud Video Intelligence API. * @class * @memberof v1 */ -class VideoIntelligenceServiceClient { +export class VideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of VideoIntelligenceServiceClient. * @@ -54,58 +72,57 @@ class VideoIntelligenceServiceClient { * @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 VideoIntelligenceServiceClient; + 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 VideoIntelligenceServiceClient).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. @@ -121,24 +138,25 @@ class VideoIntelligenceServiceClient { 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 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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1.AnnotateVideoResponse' - ); + '.google.cloud.videointelligence.v1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1.AnnotateVideoProgress' - ); + '.google.cloud.videointelligence.v1.AnnotateVideoProgress' + ) as gax.protobuf.Type; this._descriptors.longrunning = { annotateVideo: new gaxModule.LongrunningDescriptor( @@ -151,8 +169,8 @@ class VideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1.VideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -163,32 +181,49 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( + this.videoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1.VideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1.VideoIntelligenceService, + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1 + .VideoIntelligenceService, 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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.videoIntelligenceServiceStub.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], - 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); + }; } } @@ -222,19 +257,52 @@ class VideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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 -- // ------------------- + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -243,141 +311,96 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. - * @param {number[]} request.features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1.Feature} - * @param {string} [request.inputUri] + * @param {string} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} [request.inputContent] + * @param {Buffer} request.inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {Object} [request.videoContext] + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1.VideoContext} * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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. + * @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 a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * 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 videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const request = { - * features: features, - * inputUri: inputUri, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const request = { - * features: features, - * inputUri: inputUri, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const request = { - * features: features, - * inputUri: inputUri, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + 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; } - request = request || {}; options = options || {}; - return this._innerApiCalls.annotateVideo(request, options, callback); } -} -module.exports = VideoIntelligenceServiceClient; + /** + * 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.videoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json index 2a907f4060f..49091879c8e 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client_config.json @@ -2,28 +2,37 @@ "interfaces": { "google.cloud.videointelligence.v1.VideoIntelligenceService": { "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 + }, + "44183339c3ec233f7d8e740ee644b7ceb1a77fc3": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 2.5, + "max_retry_delay_millis": 120000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "AnnotateVideo": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" + "timeout_millis": 600000, + "retry_codes_name": "idempotent", + "retry_params_name": "44183339c3ec233f7d8e740ee644b7ceb1a77fc3" } } } diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js deleted file mode 100644 index 4019788cd52..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/cloud/videointelligence/v1beta2/doc_video_intelligence.js +++ /dev/null @@ -1,652 +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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {Buffer} inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * - * @property {number[]} features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} - * - * @property {string} outputUri - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video is - * treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} - * - * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. - * - * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig} - * - * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig} - * - * @property {Object} faceDetectionConfig - * Config for FACE_DETECTION. - * - * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig} - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for LABEL_DETECTION. - * - * @property {number} labelDetectionMode - * What labels should be detected with LABEL_DETECTION, in addition to - * video-level labels or segment-level labels. - * If unspecified, defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1beta2.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * Should be used with `SHOT_AND_FRAME_MODE` enabled. - * - * @property {string} model - * Model to use for label detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef LabelDetectionConfig - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const LabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SHOT_CHANGE_DETECTION. - * - * @property {string} model - * Model to use for shot change detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const ShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for EXPLICIT_CONTENT_DETECTION. - * - * @property {string} model - * Model to use for explicit content detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const ExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for FACE_DETECTION. - * - * @property {string} model - * Model to use for face detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {boolean} includeBoundingBoxes - * Whether bounding boxes be included in the face annotation output. - * - * @typedef FaceDetectionConfig - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const FaceDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {Object} startTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the start of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the end of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for label detection. - * - * @property {Object} segment - * Video segment where a label was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelSegment - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const LabelSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for label detection. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelFrame - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const LabelFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Detected entity from video analysis. - * - * @property {string} entityId - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @typedef Entity - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const Entity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {Object} entity - * Detected entity. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1beta2.Entity} - * - * @property {Object[]} categoryEntities - * Common categories for the detected entity. - * E.g. when the label is `Terrier` the category is likely `dog`. And in some - * cases there might be more than one categories e.g. `Terrier` could also be - * a `pet`. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1beta2.Entity} - * - * @property {Object[]} segments - * All video segments where a label was detected. - * - * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1beta2.LabelSegment} - * - * @property {Object[]} frames - * All video frames where a label was detected. - * - * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1beta2.LabelFrame} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for explicit content. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} pornographyLikelihood - * Likelihood of the pornography content.. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1beta2.Likelihood} - * - * @typedef ExplicitContentFrame - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const ExplicitContentFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Explicit content annotation (based on per-frame visual signals only). - * If no explicit content has been detected in a frame, no annotations are - * present for that frame. - * - * @property {Object[]} frames - * All video frames where explicit content was detected. - * - * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame} - * - * @typedef ExplicitContentAnnotation - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const ExplicitContentAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding box. - * The normalized vertex coordinates are relative to the original image. - * Range: [0, 1]. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @typedef NormalizedBoundingBox - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const NormalizedBoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for face detection. - * - * @property {Object} segment - * Video segment where a face was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} - * - * @typedef FaceSegment - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.FaceSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const FaceSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for face detection. - * - * @property {Object[]} normalizedBoundingBoxes - * Normalized Bounding boxes in a frame. - * There can be more than one boxes if the same face is detected in multiple - * locations within the current frame. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef FaceFrame - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.FaceFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const FaceFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face annotation. - * - * @property {Buffer} thumbnail - * Thumbnail of a representative face view (in JPEG format). - * - * @property {Object[]} segments - * All video segments where a face was detected. - * - * This object should have the same structure as [FaceSegment]{@link google.cloud.videointelligence.v1beta2.FaceSegment} - * - * @property {Object[]} frames - * All video frames where a face was detected. - * - * This object should have the same structure as [FaceFrame]{@link google.cloud.videointelligence.v1beta2.FaceFrame} - * - * @typedef FaceAnnotation - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object[]} segmentLabelAnnotations - * Label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} - * - * @property {Object[]} shotLabelAnnotations - * Label annotations on shot level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} - * - * @property {Object[]} frameLabelAnnotations - * Label annotations on frame level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1beta2.LabelAnnotation} - * - * @property {Object[]} faceAnnotations - * Face annotations. There is exactly one element for each unique face. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.videointelligence.v1beta2.FaceAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1beta2.VideoSegment} - * - * @property {Object} explicitAnnotation - * Explicit content annotation. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation} - * - * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Approximate percentage processed thus far. - * Guaranteed to be 100 when fully processed. - * - * @property {Object} startTime - * Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1beta2 - * @see [google.cloud.videointelligence.v1beta2.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1beta2/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta2 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - EXPLICIT_CONTENT_DETECTION: 3, - - /** - * Human face detection and tracking. - */ - FACE_DETECTION: 4 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta2 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1beta2 - */ -const Likelihood = { - - /** - * Unspecified likelihood. - */ - LIKELIHOOD_UNSPECIFIED: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js deleted file mode 100644 index bd4b4ee6067..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/protobuf/doc_duration.js +++ /dev/null @@ -1,97 +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 Duration represents a signed, fixed-length span of time represented - * as a count of seconds and fractions of seconds at nanosecond - * resolution. It is independent of any calendar and concepts like "day" - * or "month". It is related to Timestamp in that the difference between - * two Timestamp values is a Duration and it can be added or subtracted - * from a Timestamp. Range is approximately +-10,000 years. - * - * # Examples - * - * Example 1: Compute Duration from two Timestamps in pseudo code. - * - * Timestamp start = ...; - * Timestamp end = ...; - * Duration duration = ...; - * - * duration.seconds = end.seconds - start.seconds; - * duration.nanos = end.nanos - start.nanos; - * - * if (duration.seconds < 0 && duration.nanos > 0) { - * duration.seconds += 1; - * duration.nanos -= 1000000000; - * } else if (durations.seconds > 0 && duration.nanos < 0) { - * duration.seconds -= 1; - * duration.nanos += 1000000000; - * } - * - * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - * - * Timestamp start = ...; - * Duration duration = ...; - * Timestamp end = ...; - * - * end.seconds = start.seconds + duration.seconds; - * end.nanos = start.nanos + duration.nanos; - * - * if (end.nanos < 0) { - * end.seconds -= 1; - * end.nanos += 1000000000; - * } else if (end.nanos >= 1000000000) { - * end.seconds += 1; - * end.nanos -= 1000000000; - * } - * - * Example 3: Compute Duration from datetime.timedelta in Python. - * - * td = datetime.timedelta(days=3, minutes=10) - * duration = Duration() - * duration.FromTimedelta(td) - * - * # JSON Mapping - * - * In JSON format, the Duration type is encoded as a string rather than an - * object, where the string ends in the suffix "s" (indicating seconds) and - * is preceded by the number of seconds, with nanoseconds expressed as - * fractional seconds. For example, 3 seconds with 0 nanoseconds should be - * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - * microsecond should be expressed in JSON format as "3.000001s". - * - * @property {number} seconds - * Signed seconds of the span of time. Must be from -315,576,000,000 - * to +315,576,000,000 inclusive. Note: these bounds are computed from: - * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - * - * @property {number} nanos - * Signed fractions of a second at nanosecond resolution of the span - * of time. Durations less than one second are represented with a 0 - * `seconds` field and a positive or negative `nanos` field. For durations - * of one second or more, a non-zero value for the `nanos` field must be - * of the same sign as the `seconds` field. Must be from -999,999,999 - * to +999,999,999 inclusive. - * - * @typedef Duration - * @memberof google.protobuf - * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ -const Duration = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1beta2/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1/index.js b/packages/google-cloud-videointelligence/src/v1beta2/index.ts similarity index 64% rename from packages/google-cloud-videointelligence/src/v1/index.js rename to packages/google-cloud-videointelligence/src/v1beta2/index.ts index 9bdd2dd7138..b4969ebdd1f 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; +export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts similarity index 55% rename from packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 46a2571d732..f28cf0ae54b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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,22 +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, + LROperation, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. - * + * Service that implements Google Cloud Video Intelligence API. * @class * @memberof v1beta2 */ -class VideoIntelligenceServiceClient { +export class VideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of VideoIntelligenceServiceClient. * @@ -54,58 +72,57 @@ class VideoIntelligenceServiceClient { * @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 VideoIntelligenceServiceClient; + 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 VideoIntelligenceServiceClient).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. @@ -121,24 +138,25 @@ class VideoIntelligenceServiceClient { 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 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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' - ); + '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' - ); + '.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' + ) as gax.protobuf.Type; this._descriptors.longrunning = { annotateVideo: new gaxModule.LongrunningDescriptor( @@ -151,8 +169,8 @@ class VideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -163,33 +181,49 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( + this.videoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1beta2 + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1beta2 .VideoIntelligenceService, 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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.videoIntelligenceServiceStub.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], - 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); + }; } } @@ -223,19 +257,52 @@ class VideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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 -- // ------------------- + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -244,141 +311,96 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. - * @param {string} [request.inputUri] + * @param {string} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video * URI may include wildcards in `object-id`, and thus identify multiple * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} [request.inputContent] + * @param {Buffer} request.inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {number[]} [request.features] + * @param {number[]} request.features * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1beta2.Feature} - * @param {Object} [request.videoContext] + * @param {google.cloud.videointelligence.v1beta2.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1beta2.VideoContext} * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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. + * @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 a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * 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 videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1beta2.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + 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; } - request = request || {}; options = options || {}; - return this._innerApiCalls.annotateVideo(request, options, callback); } -} -module.exports = VideoIntelligenceServiceClient; + /** + * 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.videoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json index b52c46ea68c..f1fd51a88e2 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client_config.json @@ -2,28 +2,37 @@ "interfaces": { "google.cloud.videointelligence.v1beta2.VideoIntelligenceService": { "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": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "44183339c3ec233f7d8e740ee644b7ceb1a77fc3": { "initial_retry_delay_millis": 1000, "retry_delay_multiplier": 2.5, "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 120000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "AnnotateVideo": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", - "retry_params_name": "default" + "retry_params_name": "44183339c3ec233f7d8e740ee644b7ceb1a77fc3" } } } diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js deleted file mode 100644 index 0ab262f5f3b..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/cloud/videointelligence/v1p1beta1/doc_video_intelligence.js +++ /dev/null @@ -1,690 +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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {Buffer} inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * - * @property {number[]} features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} - * - * @property {string} outputUri - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video is - * treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} - * - * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. - * - * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig} - * - * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig} - * - * @property {Object} speechTranscriptionConfig - * Config for SPEECH_TRANSCRIPTION. - * - * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig} - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for LABEL_DETECTION. - * - * @property {number} labelDetectionMode - * What labels should be detected with LABEL_DETECTION, in addition to - * video-level labels or segment-level labels. - * If unspecified, defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p1beta1.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * Should be used with `SHOT_AND_FRAME_MODE` enabled. - * - * @property {string} model - * Model to use for label detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef LabelDetectionConfig - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const LabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SHOT_CHANGE_DETECTION. - * - * @property {string} model - * Model to use for shot change detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const ShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for EXPLICIT_CONTENT_DETECTION. - * - * @property {string} model - * Model to use for explicit content detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const ExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {Object} startTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the start of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the end of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for label detection. - * - * @property {Object} segment - * Video segment where a label was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelSegment - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const LabelSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for label detection. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelFrame - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const LabelFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Detected entity from video analysis. - * - * @property {string} entityId - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @typedef Entity - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const Entity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {Object} entity - * Detected entity. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p1beta1.Entity} - * - * @property {Object[]} categoryEntities - * Common categories for the detected entity. - * E.g. when the label is `Terrier` the category is likely `dog`. And in some - * cases there might be more than one categories e.g. `Terrier` could also be - * a `pet`. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p1beta1.Entity} - * - * @property {Object[]} segments - * All video segments where a label was detected. - * - * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p1beta1.LabelSegment} - * - * @property {Object[]} frames - * All video frames where a label was detected. - * - * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p1beta1.LabelFrame} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for explicit content. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} pornographyLikelihood - * Likelihood of the pornography content.. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p1beta1.Likelihood} - * - * @typedef ExplicitContentFrame - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const ExplicitContentFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Explicit content annotation (based on per-frame visual signals only). - * If no explicit content has been detected in a frame, no annotations are - * present for that frame. - * - * @property {Object[]} frames - * All video frames where explicit content was detected. - * - * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame} - * - * @typedef ExplicitContentAnnotation - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const ExplicitContentAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Output only. Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object[]} segmentLabelAnnotations - * Label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} - * - * @property {Object[]} shotLabelAnnotations - * Label annotations on shot level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} - * - * @property {Object[]} frameLabelAnnotations - * Label annotations on frame level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p1beta1.VideoSegment} - * - * @property {Object} explicitAnnotation - * Explicit content annotation. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation} - * - * @property {Object[]} speechTranscriptions - * Speech transcription. - * - * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription} - * - * @property {Object} error - * Output only. If set, indicates an error. Note that for a single - * `AnnotateVideoRequest` some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Output only. Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Output only. Approximate percentage processed thus far. Guaranteed to be - * 100 when fully processed. - * - * @property {Object} startTime - * Output only. Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Output only. Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SPEECH_TRANSCRIPTION. - * - * @property {string} languageCode - * Required. *Required* The language of the supplied audio as a - * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. - * Example: "en-US". - * See [Language Support](https://cloud.google.com/speech/docs/languages) - * for a list of the currently supported language codes. - * - * @property {number} maxAlternatives - * Optional. Maximum number of recognition hypotheses to be returned. - * Specifically, the maximum number of `SpeechRecognitionAlternative` messages - * within each `SpeechTranscription`. The server may return fewer than - * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will - * return a maximum of one. If omitted, will return a maximum of one. - * - * @property {boolean} filterProfanity - * Optional. If set to `true`, the server will attempt to filter out - * profanities, replacing all but the initial character in each filtered word - * with asterisks, e.g. "f***". If set to `false` or omitted, profanities - * won't be filtered out. - * - * @property {Object[]} speechContexts - * Optional. A means to provide context to assist the speech recognition. - * - * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p1beta1.SpeechContext} - * - * @property {boolean} enableAutomaticPunctuation - * Optional. If 'true', adds punctuation to recognition result hypotheses. - * This feature is only available in select languages. Setting this for - * requests in other languages has no effect at all. The default 'false' value - * does not add punctuation to result hypotheses. NOTE: "This is currently - * offered as an experimental service, complimentary to all users. In the - * future this may be exclusively available as a premium feature." - * - * @property {number[]} audioTracks - * Optional. For file formats, such as MXF or MKV, supporting multiple audio - * tracks, specify up to two tracks. Default: track 0. - * - * @typedef SpeechTranscriptionConfig - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const SpeechTranscriptionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Provides "hints" to the speech recognizer to favor specific words and phrases - * in the results. - * - * @property {string[]} phrases - * Optional. A list of strings containing words and phrases "hints" so that - * the speech recognition is more likely to recognize them. This can be used - * to improve the accuracy for specific words and phrases, for example, if - * specific commands are typically spoken by the user. This can also be used - * to add additional words to the vocabulary of the recognizer. See - * [usage limits](https://cloud.google.com/speech/limits#content). - * - * @typedef SpeechContext - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const SpeechContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A speech recognition result corresponding to a portion of the audio. - * - * @property {Object[]} alternatives - * May contain one or more recognition hypotheses (up to the maximum specified - * in `max_alternatives`). These alternatives are ordered in terms of - * accuracy, with the top (first) alternative being the most probable, as - * ranked by the recognizer. - * - * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative} - * - * @typedef SpeechTranscription - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const SpeechTranscription = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Alternative hypotheses (a.k.a. n-best list). - * - * @property {string} transcript - * Output only. Transcript text representing the words that the user spoke. - * - * @property {number} confidence - * Output only. The confidence estimate between 0.0 and 1.0. A higher number - * indicates an estimated greater likelihood that the recognized words are - * correct. This field is set only for the top alternative. - * This field is not guaranteed to be accurate and users should not rely on it - * to be always provided. - * The default of 0.0 is a sentinel value indicating `confidence` was not set. - * - * @property {Object[]} words - * Output only. A list of word-specific information for each recognized word. - * - * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1p1beta1.WordInfo} - * - * @typedef SpeechRecognitionAlternative - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const SpeechRecognitionAlternative = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Word-specific information for recognized words. Word information is only - * included in the response when certain request parameters are set, such - * as `enable_word_time_offsets`. - * - * @property {Object} startTime - * Output only. Time offset relative to the beginning of the audio, and - * corresponding to the start of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTime - * Output only. Time offset relative to the beginning of the audio, and - * corresponding to the end of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {string} word - * Output only. The word corresponding to this set of information. - * - * @typedef WordInfo - * @memberof google.cloud.videointelligence.v1p1beta1 - * @see [google.cloud.videointelligence.v1p1beta1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto} - */ -const WordInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p1beta1 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - EXPLICIT_CONTENT_DETECTION: 3, - - /** - * Speech transcription. - */ - SPEECH_TRANSCRIPTION: 6 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p1beta1 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p1beta1 - */ -const Likelihood = { - - /** - * Unspecified likelihood. - */ - LIKELIHOOD_UNSPECIFIED: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js deleted file mode 100644 index bd4b4ee6067..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/protobuf/doc_duration.js +++ /dev/null @@ -1,97 +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 Duration represents a signed, fixed-length span of time represented - * as a count of seconds and fractions of seconds at nanosecond - * resolution. It is independent of any calendar and concepts like "day" - * or "month". It is related to Timestamp in that the difference between - * two Timestamp values is a Duration and it can be added or subtracted - * from a Timestamp. Range is approximately +-10,000 years. - * - * # Examples - * - * Example 1: Compute Duration from two Timestamps in pseudo code. - * - * Timestamp start = ...; - * Timestamp end = ...; - * Duration duration = ...; - * - * duration.seconds = end.seconds - start.seconds; - * duration.nanos = end.nanos - start.nanos; - * - * if (duration.seconds < 0 && duration.nanos > 0) { - * duration.seconds += 1; - * duration.nanos -= 1000000000; - * } else if (durations.seconds > 0 && duration.nanos < 0) { - * duration.seconds -= 1; - * duration.nanos += 1000000000; - * } - * - * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - * - * Timestamp start = ...; - * Duration duration = ...; - * Timestamp end = ...; - * - * end.seconds = start.seconds + duration.seconds; - * end.nanos = start.nanos + duration.nanos; - * - * if (end.nanos < 0) { - * end.seconds -= 1; - * end.nanos += 1000000000; - * } else if (end.nanos >= 1000000000) { - * end.seconds += 1; - * end.nanos -= 1000000000; - * } - * - * Example 3: Compute Duration from datetime.timedelta in Python. - * - * td = datetime.timedelta(days=3, minutes=10) - * duration = Duration() - * duration.FromTimedelta(td) - * - * # JSON Mapping - * - * In JSON format, the Duration type is encoded as a string rather than an - * object, where the string ends in the suffix "s" (indicating seconds) and - * is preceded by the number of seconds, with nanoseconds expressed as - * fractional seconds. For example, 3 seconds with 0 nanoseconds should be - * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - * microsecond should be expressed in JSON format as "3.000001s". - * - * @property {number} seconds - * Signed seconds of the span of time. Must be from -315,576,000,000 - * to +315,576,000,000 inclusive. Note: these bounds are computed from: - * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - * - * @property {number} nanos - * Signed fractions of a second at nanosecond resolution of the span - * of time. Durations less than one second are represented with a 0 - * `seconds` field and a positive or negative `nanos` field. For durations - * of one second or more, a non-zero value for the `nanos` field must be - * of the same sign as the `seconds` field. Must be from -999,999,999 - * to +999,999,999 inclusive. - * - * @typedef Duration - * @memberof google.protobuf - * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ -const Duration = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p1beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1beta2/index.js b/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts similarity index 64% rename from packages/google-cloud-videointelligence/src/v1beta2/index.js rename to packages/google-cloud-videointelligence/src/v1p1beta1/index.ts index 9bdd2dd7138..b4969ebdd1f 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.js +++ b/packages/google-cloud-videointelligence/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,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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; +export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts similarity index 54% rename from packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index bea8f82bc97..cee76bc72cf 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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,22 +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, + LROperation, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. - * + * Service that implements Google Cloud Video Intelligence API. * @class * @memberof v1p1beta1 */ -class VideoIntelligenceServiceClient { +export class VideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of VideoIntelligenceServiceClient. * @@ -54,58 +72,57 @@ class VideoIntelligenceServiceClient { * @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 VideoIntelligenceServiceClient; + 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 VideoIntelligenceServiceClient).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. @@ -121,24 +138,25 @@ class VideoIntelligenceServiceClient { 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 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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' - ); + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' - ); + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; this._descriptors.longrunning = { annotateVideo: new gaxModule.LongrunningDescriptor( @@ -151,8 +169,8 @@ class VideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -163,33 +181,49 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( + this.videoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1p1beta1 + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1p1beta1 .VideoIntelligenceService, 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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.videoIntelligenceServiceStub.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], - 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); + }; } } @@ -223,19 +257,52 @@ class VideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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 -- // ------------------- + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -244,141 +311,96 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. - * @param {string} [request.inputUri] + * @param {string} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} [request.inputContent] + * @param {Buffer} request.inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {number[]} [request.features] + * @param {number[]} request.features * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p1beta1.Feature} - * @param {Object} [request.videoContext] + * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p1beta1.VideoContext} * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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. + * @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 a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * 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 videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + 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; } - request = request || {}; options = options || {}; - return this._innerApiCalls.annotateVideo(request, options, callback); } -} -module.exports = VideoIntelligenceServiceClient; + /** + * 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.videoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json index e701c4af9d9..5d0c24dbde6 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client_config.json @@ -2,20 +2,29 @@ "interfaces": { "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService": { "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": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "44183339c3ec233f7d8e740ee644b7ceb1a77fc3": { "initial_retry_delay_millis": 1000, "retry_delay_multiplier": 2.5, "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 120000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, @@ -23,7 +32,7 @@ "AnnotateVideo": { "timeout_millis": 600000, "retry_codes_name": "idempotent", - "retry_params_name": "default" + "retry_params_name": "44183339c3ec233f7d8e740ee644b7ceb1a77fc3" } } } diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js deleted file mode 100644 index 31a4ea321b3..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/cloud/videointelligence/v1p2beta1/doc_video_intelligence.js +++ /dev/null @@ -1,770 +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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {Buffer} inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * - * @property {number[]} features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} - * - * @property {string} outputUri - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video is - * treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} - * - * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. - * - * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig} - * - * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig} - * - * @property {Object} textDetectionConfig - * Config for TEXT_DETECTION. - * - * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig} - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for LABEL_DETECTION. - * - * @property {number} labelDetectionMode - * What labels should be detected with LABEL_DETECTION, in addition to - * video-level labels or segment-level labels. - * If unspecified, defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p2beta1.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * Should be used with `SHOT_AND_FRAME_MODE` enabled. - * - * @property {string} model - * Model to use for label detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef LabelDetectionConfig - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const LabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SHOT_CHANGE_DETECTION. - * - * @property {string} model - * Model to use for shot change detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for EXPLICIT_CONTENT_DETECTION. - * - * @property {string} model - * Model to use for explicit content detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for TEXT_DETECTION. - * - * @property {string[]} languageHints - * Language hint can be specified if the language to be detected is known a - * priori. It can increase the accuracy of the detection. Language hint must - * be language code in BCP-47 format. - * - * Automatic language detection is performed if no hint is provided. - * - * @typedef TextDetectionConfig - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const TextDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {Object} startTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the start of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the end of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for label detection. - * - * @property {Object} segment - * Video segment where a label was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelSegment - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const LabelSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for label detection. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelFrame - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const LabelFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Detected entity from video analysis. - * - * @property {string} entityId - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @typedef Entity - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const Entity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {Object} entity - * Detected entity. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} - * - * @property {Object[]} categoryEntities - * Common categories for the detected entity. - * E.g. when the label is `Terrier` the category is likely `dog`. And in some - * cases there might be more than one categories e.g. `Terrier` could also be - * a `pet`. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} - * - * @property {Object[]} segments - * All video segments where a label was detected. - * - * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p2beta1.LabelSegment} - * - * @property {Object[]} frames - * All video frames where a label was detected. - * - * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p2beta1.LabelFrame} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for explicit content. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} pornographyLikelihood - * Likelihood of the pornography content.. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p2beta1.Likelihood} - * - * @typedef ExplicitContentFrame - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ExplicitContentFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Explicit content annotation (based on per-frame visual signals only). - * If no explicit content has been detected in a frame, no annotations are - * present for that frame. - * - * @property {Object[]} frames - * All video frames where explicit content was detected. - * - * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame} - * - * @typedef ExplicitContentAnnotation - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ExplicitContentAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding box. - * The normalized vertex coordinates are relative to the original image. - * Range: [0, 1]. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @typedef NormalizedBoundingBox - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const NormalizedBoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object[]} segmentLabelAnnotations - * Label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} - * - * @property {Object[]} shotLabelAnnotations - * Label annotations on shot level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} - * - * @property {Object[]} frameLabelAnnotations - * Label annotations on frame level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} - * - * @property {Object} explicitAnnotation - * Explicit content annotation. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation} - * - * @property {Object[]} textAnnotations - * OCR text detection and tracking. - * Annotations for list of detected text snippets. Each will have list of - * frame information associated with it. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1p2beta1.TextAnnotation} - * - * @property {Object[]} objectAnnotations - * Annotations for list of objects detected and tracked in video. - * - * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation} - * - * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Approximate percentage processed thus far. Guaranteed to be - * 100 when fully processed. - * - * @property {Object} startTime - * Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // 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.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding polygon for text (that might not be aligned with axis). - * Contains list of the corner points in clockwise order starting from - * top-left corner. For example, for a rectangular bounding box: - * When the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * - * When it's clockwise 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). Note that values can be less - * than 0, or greater than 1 due to trignometric calculations for location of - * the box. - * - * @property {Object[]} vertices - * Normalized vertices of the bounding polygon. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p2beta1.NormalizedVertex} - * - * @typedef NormalizedBoundingPoly - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const NormalizedBoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for text detection. - * - * @property {Object} segment - * Video segment where a text snippet was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} - * - * @property {number} confidence - * Confidence for the track of detected text. It is calculated as the highest - * over all frames where OCR detected text appears. - * - * @property {Object[]} frames - * Information related to the frames where OCR detected text appears. - * - * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p2beta1.TextFrame} - * - * @typedef TextSegment - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const TextSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for text annotation (OCR). - * Contains information regarding timestamp and bounding box locations for the - * frames containing detected OCR text snippets. - * - * @property {Object} rotatedBoundingBox - * Bounding polygon of the detected text for this frame. - * - * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly} - * - * @property {Object} timeOffset - * Timestamp of this frame. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef TextFrame - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const TextFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations related to one detected OCR text snippet. This will contain the - * corresponding text, confidence value, and frame level information for each - * detection. - * - * @property {string} text - * The detected text. - * - * @property {Object[]} segments - * All video segments where OCR detected text appears. - * - * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1p2beta1.TextSegment} - * - * @typedef TextAnnotation - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotations for object detection and tracking. This field - * stores per frame location, time offset, and confidence. - * - * @property {Object} normalizedBoundingBox - * The normalized bounding box location of this object track for the frame. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * The timestamp of the frame in microseconds. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef ObjectTrackingFrame - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ObjectTrackingFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations corresponding to one tracked object. - * - * @property {Object} entity - * Entity to specify the object category that this track is labeled as. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p2beta1.Entity} - * - * @property {number} confidence - * Object category's labeling confidence of this track. - * - * @property {Object[]} frames - * Information corresponding to all frames where this object track appears. - * - * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame} - * - * @property {Object} segment - * Each object track corresponds to one video segment where it appears. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p2beta1.VideoSegment} - * - * @typedef ObjectTrackingAnnotation - * @memberof google.cloud.videointelligence.v1p2beta1 - * @see [google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto} - */ -const ObjectTrackingAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p2beta1 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - EXPLICIT_CONTENT_DETECTION: 3, - - /** - * OCR text detection and tracking. - */ - TEXT_DETECTION: 7, - - /** - * Object detection and tracking. - */ - OBJECT_TRACKING: 9 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p2beta1 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p2beta1 - */ -const Likelihood = { - - /** - * Unspecified likelihood. - */ - LIKELIHOOD_UNSPECIFIED: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js deleted file mode 100644 index bd4b4ee6067..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/protobuf/doc_duration.js +++ /dev/null @@ -1,97 +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 Duration represents a signed, fixed-length span of time represented - * as a count of seconds and fractions of seconds at nanosecond - * resolution. It is independent of any calendar and concepts like "day" - * or "month". It is related to Timestamp in that the difference between - * two Timestamp values is a Duration and it can be added or subtracted - * from a Timestamp. Range is approximately +-10,000 years. - * - * # Examples - * - * Example 1: Compute Duration from two Timestamps in pseudo code. - * - * Timestamp start = ...; - * Timestamp end = ...; - * Duration duration = ...; - * - * duration.seconds = end.seconds - start.seconds; - * duration.nanos = end.nanos - start.nanos; - * - * if (duration.seconds < 0 && duration.nanos > 0) { - * duration.seconds += 1; - * duration.nanos -= 1000000000; - * } else if (durations.seconds > 0 && duration.nanos < 0) { - * duration.seconds -= 1; - * duration.nanos += 1000000000; - * } - * - * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - * - * Timestamp start = ...; - * Duration duration = ...; - * Timestamp end = ...; - * - * end.seconds = start.seconds + duration.seconds; - * end.nanos = start.nanos + duration.nanos; - * - * if (end.nanos < 0) { - * end.seconds -= 1; - * end.nanos += 1000000000; - * } else if (end.nanos >= 1000000000) { - * end.seconds += 1; - * end.nanos -= 1000000000; - * } - * - * Example 3: Compute Duration from datetime.timedelta in Python. - * - * td = datetime.timedelta(days=3, minutes=10) - * duration = Duration() - * duration.FromTimedelta(td) - * - * # JSON Mapping - * - * In JSON format, the Duration type is encoded as a string rather than an - * object, where the string ends in the suffix "s" (indicating seconds) and - * is preceded by the number of seconds, with nanoseconds expressed as - * fractional seconds. For example, 3 seconds with 0 nanoseconds should be - * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - * microsecond should be expressed in JSON format as "3.000001s". - * - * @property {number} seconds - * Signed seconds of the span of time. Must be from -315,576,000,000 - * to +315,576,000,000 inclusive. Note: these bounds are computed from: - * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - * - * @property {number} nanos - * Signed fractions of a second at nanosecond resolution of the span - * of time. Durations less than one second are represented with a 0 - * `seconds` field and a positive or negative `nanos` field. For durations - * of one second or more, a non-zero value for the `nanos` field must be - * of the same sign as the `seconds` field. Must be from -999,999,999 - * to +999,999,999 inclusive. - * - * @typedef Duration - * @memberof google.protobuf - * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ -const Duration = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p2beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/index.js b/packages/google-cloud-videointelligence/src/v1p2beta1/index.js deleted file mode 100644 index 9bdd2dd7138..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.js +++ /dev/null @@ -1,19 +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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/index.js b/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts similarity index 64% rename from packages/google-cloud-videointelligence/src/v1p1beta1/index.js rename to packages/google-cloud-videointelligence/src/v1p2beta1/index.ts index 9bdd2dd7138..b4969ebdd1f 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.js +++ b/packages/google-cloud-videointelligence/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; +export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts similarity index 54% rename from packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 1b9511df368..f0c9dce78b2 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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,22 +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, + LROperation, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. - * + * Service that implements Google Cloud Video Intelligence API. * @class * @memberof v1p2beta1 */ -class VideoIntelligenceServiceClient { +export class VideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of VideoIntelligenceServiceClient. * @@ -54,58 +72,57 @@ class VideoIntelligenceServiceClient { * @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 VideoIntelligenceServiceClient; + 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 VideoIntelligenceServiceClient).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. @@ -121,24 +138,25 @@ class VideoIntelligenceServiceClient { 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 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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' - ); + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress' - ); + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; this._descriptors.longrunning = { annotateVideo: new gaxModule.LongrunningDescriptor( @@ -151,8 +169,8 @@ class VideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -163,33 +181,49 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( + this.videoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1p2beta1 + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1p2beta1 .VideoIntelligenceService, 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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.videoIntelligenceServiceStub.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], - 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); + }; } } @@ -223,19 +257,52 @@ class VideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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 -- // ------------------- + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -244,141 +311,96 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. - * @param {string} [request.inputUri] + * @param {string} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} [request.inputContent] + * @param {Buffer} request.inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {number[]} [request.features] + * @param {number[]} request.features * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p2beta1.Feature} - * @param {Object} [request.videoContext] + * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p2beta1.VideoContext} * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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. + * @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 a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * 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 videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1p2beta1.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + 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; } - request = request || {}; options = options || {}; - return this._innerApiCalls.annotateVideo(request, options, callback); } -} -module.exports = VideoIntelligenceServiceClient; + /** + * 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.videoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json index 01c3c0a8933..20e275281ce 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client_config.json @@ -2,20 +2,29 @@ "interfaces": { "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService": { "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": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "44183339c3ec233f7d8e740ee644b7ceb1a77fc3": { "initial_retry_delay_millis": 1000, "retry_delay_multiplier": 2.5, "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 120000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, @@ -23,7 +32,7 @@ "AnnotateVideo": { "timeout_millis": 600000, "retry_codes_name": "idempotent", - "retry_params_name": "default" + "retry_params_name": "44183339c3ec233f7d8e740ee644b7ceb1a77fc3" } } } diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js deleted file mode 100644 index ae450b25b92..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/cloud/videointelligence/v1p3beta1/doc_video_intelligence.js +++ /dev/null @@ -1,1704 +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. - -/** - * Video annotation request. - * - * @property {string} inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * - * @property {Buffer} inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * - * @property {number[]} features - * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} - * - * @property {Object} videoContext - * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} - * - * @property {string} outputUri - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). - * - * @property {string} locationId - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * - * @typedef AnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const AnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video context and/or feature-specific parameters. - * - * @property {Object[]} segments - * Video segments to annotate. The segments may overlap and are not required - * to be contiguous or span the whole video. If unspecified, each video is - * treated as a single segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {Object} labelDetectionConfig - * Config for LABEL_DETECTION. - * - * This object should have the same structure as [LabelDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig} - * - * @property {Object} shotChangeDetectionConfig - * Config for SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [ShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [ExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig} - * - * @property {Object} faceDetectionConfig - * Config for FACE_DETECTION. - * - * This object should have the same structure as [FaceDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig} - * - * @property {Object} speechTranscriptionConfig - * Config for SPEECH_TRANSCRIPTION. - * - * This object should have the same structure as [SpeechTranscriptionConfig]{@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig} - * - * @property {Object} textDetectionConfig - * Config for TEXT_DETECTION. - * - * This object should have the same structure as [TextDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig} - * - * @property {Object} personDetectionConfig - * Config for PERSON_DETECTION. - * - * This object should have the same structure as [PersonDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig} - * - * @property {Object} objectTrackingConfig - * Config for OBJECT_TRACKING. - * - * This object should have the same structure as [ObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig} - * - * @typedef VideoContext - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.VideoContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const VideoContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for LABEL_DETECTION. - * - * @property {number} labelDetectionMode - * What labels should be detected with LABEL_DETECTION, in addition to - * video-level labels or segment-level labels. - * If unspecified, defaults to `SHOT_MODE`. - * - * The number should be among the values of [LabelDetectionMode]{@link google.cloud.videointelligence.v1p3beta1.LabelDetectionMode} - * - * @property {boolean} stationaryCamera - * Whether the video has been shot from a stationary (i.e. non-moving) camera. - * When set to true, might improve detection accuracy for moving objects. - * Should be used with `SHOT_AND_FRAME_MODE` enabled. - * - * @property {string} model - * Model to use for label detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {number} frameConfidenceThreshold - * The confidence threshold we perform filtering on the labels from - * frame-level detection. If not set, it is set to 0.4 by default. The valid - * range for this threshold is [0.1, 0.9]. Any value set outside of this - * range will be clipped. - * Note: for best results please follow the default threshold. We will update - * the default threshold everytime when we release a new model. - * - * @property {number} videoConfidenceThreshold - * The confidence threshold we perform filtering on the labels from - * video-level and shot-level detections. If not set, it is set to 0.3 by - * default. The valid range for this threshold is [0.1, 0.9]. Any value set - * outside of this range will be clipped. - * Note: for best results please follow the default threshold. We will update - * the default threshold everytime when we release a new model. - * - * @typedef LabelDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const LabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SHOT_CHANGE_DETECTION. - * - * @property {string} model - * Model to use for shot change detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for OBJECT_TRACKING. - * - * @property {string} model - * Model to use for object tracking. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ObjectTrackingConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ObjectTrackingConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for EXPLICIT_CONTENT_DETECTION. - * - * @property {string} model - * Model to use for explicit content detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef ExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for FACE_DETECTION. - * - * @property {string} model - * Model to use for face detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @property {boolean} includeBoundingBoxes - * Whether bounding boxes be included in the face annotation output. - * - * @property {boolean} includeAttributes - * Whether to enable face attributes detection, such as glasses, dark_glasses, - * mouth_open etc. Ignored if 'include_bounding_boxes' is false. - * - * @typedef FaceDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const FaceDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for PERSON_DETECTION. - * - * @property {boolean} includeBoundingBoxes - * Whether bounding boxes be included in the person detection annotation - * output. - * - * @property {boolean} includePoseLandmarks - * Whether to enable pose landmarks detection. Ignored if - * 'include_bounding_boxes' is false. - * - * @property {boolean} includeAttributes - * Whether to enable person attributes detection, such as cloth color (black, - * blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair - * color (black, blonde, etc), hair length (long, short, bald), etc. - * Ignored if 'include_bounding_boxes' is false. - * - * @typedef PersonDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const PersonDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for TEXT_DETECTION. - * - * @property {string[]} languageHints - * Language hint can be specified if the language to be detected is known a - * priori. It can increase the accuracy of the detection. Language hint must - * be language code in BCP-47 format. - * - * Automatic language detection is performed if no hint is provided. - * - * @property {string} model - * Model to use for text detection. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef TextDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.TextDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const TextDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment. - * - * @property {Object} startTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the start of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTimeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the end of the segment (inclusive). - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef VideoSegment - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.VideoSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const VideoSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for label detection. - * - * @property {Object} segment - * Video segment where a label was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelSegment - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.LabelSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const LabelSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for label detection. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} confidence - * Confidence that the label is accurate. Range: [0, 1]. - * - * @typedef LabelFrame - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.LabelFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const LabelFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Detected entity from video analysis. - * - * @property {string} entityId - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} description - * Textual description, e.g. `Fixed-gear bicycle`. - * - * @property {string} languageCode - * Language code for `description` in BCP-47 format. - * - * @typedef Entity - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.Entity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const Entity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Label annotation. - * - * @property {Object} entity - * Detected entity. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} - * - * @property {Object[]} categoryEntities - * Common categories for the detected entity. - * E.g. when the label is `Terrier` the category is likely `dog`. And in some - * cases there might be more than one categories e.g. `Terrier` could also be - * a `pet`. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} - * - * @property {Object[]} segments - * All video segments where a label was detected. - * - * This object should have the same structure as [LabelSegment]{@link google.cloud.videointelligence.v1p3beta1.LabelSegment} - * - * @property {Object[]} frames - * All video frames where a label was detected. - * - * This object should have the same structure as [LabelFrame]{@link google.cloud.videointelligence.v1p3beta1.LabelFrame} - * - * @typedef LabelAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.LabelAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const LabelAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for explicit content. - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, corresponding to the - * video frame for this location. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {number} pornographyLikelihood - * Likelihood of the pornography content.. - * - * The number should be among the values of [Likelihood]{@link google.cloud.videointelligence.v1p3beta1.Likelihood} - * - * @typedef ExplicitContentFrame - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ExplicitContentFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Explicit content annotation (based on per-frame visual signals only). - * If no explicit content has been detected in a frame, no annotations are - * present for that frame. - * - * @property {Object[]} frames - * All video frames where explicit content was detected. - * - * This object should have the same structure as [ExplicitContentFrame]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame} - * - * @typedef ExplicitContentAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ExplicitContentAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding box. - * The normalized vertex coordinates are relative to the original image. - * Range: [0, 1]. - * - * @property {number} left - * Left X coordinate. - * - * @property {number} top - * Top Y coordinate. - * - * @property {number} right - * Right X coordinate. - * - * @property {number} bottom - * Bottom Y coordinate. - * - * @typedef NormalizedBoundingBox - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const NormalizedBoundingBox = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * For tracking related features. - * An object at time_offset with attributes, and located with - * normalized_bounding_box. - * - * @property {Object} normalizedBoundingBox - * Normalized Bounding box in a frame, where the object is located. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * Time-offset, relative to the beginning of the video, - * corresponding to the video frame for this object. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object[]} attributes - * Optional. The attributes of the object in the bounding box. - * - * This object should have the same structure as [DetectedAttribute]{@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute} - * - * @property {Object[]} landmarks - * Optional. The detected landmarks. - * - * This object should have the same structure as [DetectedLandmark]{@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark} - * - * @typedef TimestampedObject - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.TimestampedObject definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const TimestampedObject = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A track of an object instance. - * - * @property {Object} segment - * Video segment of a track. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {Object[]} timestampedObjects - * The object with timestamp and attributes per frame in the track. - * - * This object should have the same structure as [TimestampedObject]{@link google.cloud.videointelligence.v1p3beta1.TimestampedObject} - * - * @property {Object[]} attributes - * Optional. Attributes in the track level. - * - * This object should have the same structure as [DetectedAttribute]{@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute} - * - * @property {number} confidence - * Optional. The confidence score of the tracked object. - * - * @typedef Track - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.Track definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const Track = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A generic detected attribute represented by name in string format. - * - * @property {string} name - * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. - * A full list of supported type names will be provided in the document. - * - * @property {number} confidence - * Detected attribute confidence. Range [0, 1]. - * - * @property {string} value - * Text value of the detection result. For example, the value for "HairColor" - * can be "black", "blonde", etc. - * - * @typedef DetectedAttribute - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.DetectedAttribute definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const DetectedAttribute = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Celebrity definition. - * - * @property {string} name - * The resource name of the celebrity. Have the format - * `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery. - * kg-mid is the id in Google knowledge graph, which is unique for the - * celebrity. - * - * @property {string} displayName - * The celebrity name. - * - * @property {string} description - * Textual description of additional information about the celebrity, if - * applicable. - * - * @typedef Celebrity - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.Celebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const Celebrity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The annotation result of a celebrity face track. RecognizedCelebrity field - * could be empty if the face track does not have any matched celebrities. - * - * @property {Object[]} celebrities - * Top N match of the celebrities for the face in this track. - * - * This object should have the same structure as [RecognizedCelebrity]{@link google.cloud.videointelligence.v1p3beta1.RecognizedCelebrity} - * - * @property {Object} faceTrack - * A track of a person's face. - * - * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} - * - * @typedef CelebrityTrack - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.CelebrityTrack definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const CelebrityTrack = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * The recognized celebrity with confidence score. - * - * @property {Object} celebrity - * The recognized celebrity. - * - * This object should have the same structure as [Celebrity]{@link google.cloud.videointelligence.v1p3beta1.Celebrity} - * - * @property {number} confidence - * Recognition confidence. Range [0, 1]. - * - * @typedef RecognizedCelebrity - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ - RecognizedCelebrity: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Celebrity recognition annotation per video. - * - * @property {Object[]} celebrityTracks - * The tracks detected from the input video, including recognized celebrities - * and other detected faces in the video. - * - * This object should have the same structure as [CelebrityTrack]{@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack} - * - * @typedef CelebrityRecognitionAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const CelebrityRecognitionAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A generic detected landmark represented by name in string format and a 2D - * location. - * - * @property {string} name - * The name of this landmark, i.e. left_hand, right_shoulder. - * - * @property {Object} point - * The 2D point of the detected landmark using the normalized image - * coordindate system. The normalized coordinates have the range from 0 to 1. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex} - * - * @property {number} confidence - * The confidence score of the detected landmark. Range [0, 1]. - * - * @typedef DetectedLandmark - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.DetectedLandmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const DetectedLandmark = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Face detection annotation. - * - * @property {Object[]} tracks - * The face tracks with attributes. - * - * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} - * - * @property {Buffer} thumbnail - * The thumbnail of a person's face. - * - * @typedef FaceDetectionAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const FaceDetectionAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Person detection annotation per video. - * - * @property {Object[]} tracks - * The trackes that a person is detected. - * - * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} - * - * @typedef PersonDetectionAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const PersonDetectionAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation results for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {Object} segment - * Video segment on which the annotation is run. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {Object[]} segmentLabelAnnotations - * Topical label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object[]} segmentPresenceLabelAnnotations - * Presence label annotations on video level or user specified segment level. - * There is exactly one element for each unique label. Compared to the - * existing topical `segment_label_annotations`, this field presents more - * fine-grained, segment-level labels detected in video content and is made - * available only when the client sets `LabelDetectionConfig.model` to - * "builtin/latest" in the request. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object[]} shotLabelAnnotations - * Topical label annotations on shot level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object[]} shotPresenceLabelAnnotations - * Presence label annotations on shot level. There is exactly one element for - * each unique label. Compared to the existing topical - * `shot_label_annotations`, this field presents more fine-grained, shot-level - * labels detected in video content and is made available only when the client - * sets `LabelDetectionConfig.model` to "builtin/latest" in the request. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object[]} frameLabelAnnotations - * Label annotations on frame level. - * There is exactly one element for each unique label. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object[]} faceDetectionAnnotations - * Face detection annotations. - * - * This object should have the same structure as [FaceDetectionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation} - * - * @property {Object[]} shotAnnotations - * Shot annotations. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {Object} explicitAnnotation - * Explicit content annotation. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} - * - * @property {Object[]} speechTranscriptions - * Speech transcription. - * - * This object should have the same structure as [SpeechTranscription]{@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription} - * - * @property {Object[]} textAnnotations - * OCR text detection and tracking. - * Annotations for list of detected text snippets. Each will have list of - * frame information associated with it. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.videointelligence.v1p3beta1.TextAnnotation} - * - * @property {Object[]} objectAnnotations - * Annotations for list of objects detected and tracked in video. - * - * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} - * - * @property {Object[]} logoRecognitionAnnotations - * Annotations for list of logos detected, tracked and recognized in video. - * - * This object should have the same structure as [LogoRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation} - * - * @property {Object[]} personDetectionAnnotations - * Person detection annotations. - * - * This object should have the same structure as [PersonDetectionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation} - * - * @property {Object} celebrityRecognitionAnnotations - * Celebrity recognition annotations. - * - * This object should have the same structure as [CelebrityRecognitionAnnotation]{@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation} - * - * @property {Object} error - * If set, indicates an error. Note that for a single `AnnotateVideoRequest` - * some videos may succeed and some may fail. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef VideoAnnotationResults - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const VideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation response. Included in the `response` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationResults - * Annotation results for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationResults]{@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults} - * - * @typedef AnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const AnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation progress for a single video. - * - * @property {string} inputUri - * Video file location in - * [Google Cloud Storage](https://cloud.google.com/storage/). - * - * @property {number} progressPercent - * Approximate percentage processed thus far. Guaranteed to be - * 100 when fully processed. - * - * @property {Object} startTime - * Time when the request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * Time of the most recent update. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {number} feature - * Specifies which feature is being tracked if the request contains more than - * one features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} - * - * @property {Object} segment - * Specifies which segment is being tracked if the request contains more than - * one segments. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @typedef VideoAnnotationProgress - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const VideoAnnotationProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation progress. Included in the `metadata` - * field of the `Operation` returned by the `GetOperation` - * call of the `google::longrunning::Operations` service. - * - * @property {Object[]} annotationProgress - * Progress metadata for all videos specified in `AnnotateVideoRequest`. - * - * This object should have the same structure as [VideoAnnotationProgress]{@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress} - * - * @typedef AnnotateVideoProgress - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const AnnotateVideoProgress = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for SPEECH_TRANSCRIPTION. - * - * @property {string} languageCode - * Required. *Required* The language of the supplied audio as a - * [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. - * Example: "en-US". - * See [Language Support](https://cloud.google.com/speech/docs/languages) - * for a list of the currently supported language codes. - * - * @property {number} maxAlternatives - * Optional. Maximum number of recognition hypotheses to be returned. - * Specifically, the maximum number of `SpeechRecognitionAlternative` messages - * within each `SpeechTranscription`. The server may return fewer than - * `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will - * return a maximum of one. If omitted, will return a maximum of one. - * - * @property {boolean} filterProfanity - * Optional. If set to `true`, the server will attempt to filter out - * profanities, replacing all but the initial character in each filtered word - * with asterisks, e.g. "f***". If set to `false` or omitted, profanities - * won't be filtered out. - * - * @property {Object[]} speechContexts - * Optional. A means to provide context to assist the speech recognition. - * - * This object should have the same structure as [SpeechContext]{@link google.cloud.videointelligence.v1p3beta1.SpeechContext} - * - * @property {boolean} enableAutomaticPunctuation - * Optional. If 'true', adds punctuation to recognition result hypotheses. - * This feature is only available in select languages. Setting this for - * requests in other languages has no effect at all. The default 'false' value - * does not add punctuation to result hypotheses. NOTE: "This is currently - * offered as an experimental service, complimentary to all users. In the - * future this may be exclusively available as a premium feature." - * - * @property {number[]} audioTracks - * Optional. For file formats, such as MXF or MKV, supporting multiple audio - * tracks, specify up to two tracks. Default: track 0. - * - * @property {boolean} enableSpeakerDiarization - * Optional. If 'true', enables speaker detection for each recognized word in - * the top alternative of the recognition result using a speaker_tag provided - * in the WordInfo. - * Note: When this is true, we send all the words from the beginning of the - * audio for the top alternative in every consecutive responses. - * This is done in order to improve our speaker tags as our models learn to - * identify the speakers in the conversation over time. - * - * @property {number} diarizationSpeakerCount - * Optional. If set, specifies the estimated number of speakers in the - * conversation. If not set, defaults to '2'. Ignored unless - * enable_speaker_diarization is set to true. - * - * @property {boolean} enableWordConfidence - * Optional. If `true`, the top result includes a list of words and the - * confidence for those words. If `false`, no word-level confidence - * information is returned. The default is `false`. - * - * @typedef SpeechTranscriptionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const SpeechTranscriptionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Provides "hints" to the speech recognizer to favor specific words and phrases - * in the results. - * - * @property {string[]} phrases - * Optional. A list of strings containing words and phrases "hints" so that - * the speech recognition is more likely to recognize them. This can be used - * to improve the accuracy for specific words and phrases, for example, if - * specific commands are typically spoken by the user. This can also be used - * to add additional words to the vocabulary of the recognizer. See - * [usage limits](https://cloud.google.com/speech/limits#content). - * - * @typedef SpeechContext - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.SpeechContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const SpeechContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A speech recognition result corresponding to a portion of the audio. - * - * @property {Object[]} alternatives - * May contain one or more recognition hypotheses (up to the maximum specified - * in `max_alternatives`). These alternatives are ordered in terms of - * accuracy, with the top (first) alternative being the most probable, as - * ranked by the recognizer. - * - * This object should have the same structure as [SpeechRecognitionAlternative]{@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative} - * - * @property {string} languageCode - * Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) - * language tag of the language in this result. This language code was - * detected to have the most likelihood of being spoken in the audio. - * - * @typedef SpeechTranscription - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.SpeechTranscription definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const SpeechTranscription = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Alternative hypotheses (a.k.a. n-best list). - * - * @property {string} transcript - * Transcript text representing the words that the user spoke. - * - * @property {number} confidence - * Output only. The confidence estimate between 0.0 and 1.0. A higher number - * indicates an estimated greater likelihood that the recognized words are - * correct. This field is set only for the top alternative. - * This field is not guaranteed to be accurate and users should not rely on it - * to be always provided. - * The default of 0.0 is a sentinel value indicating `confidence` was not set. - * - * @property {Object[]} words - * Output only. A list of word-specific information for each recognized word. - * Note: When `enable_speaker_diarization` is true, you will see all the words - * from the beginning of the audio. - * - * This object should have the same structure as [WordInfo]{@link google.cloud.videointelligence.v1p3beta1.WordInfo} - * - * @typedef SpeechRecognitionAlternative - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const SpeechRecognitionAlternative = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Word-specific information for recognized words. Word information is only - * included in the response when certain request parameters are set, such - * as `enable_word_time_offsets`. - * - * @property {Object} startTime - * Time offset relative to the beginning of the audio, and - * corresponding to the start of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {Object} endTime - * Time offset relative to the beginning of the audio, and - * corresponding to the end of the spoken word. This field is only set if - * `enable_word_time_offsets=true` and only in the top hypothesis. This is an - * experimental feature and the accuracy of the time offset can vary. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @property {string} word - * The word corresponding to this set of information. - * - * @property {number} confidence - * Output only. The confidence estimate between 0.0 and 1.0. A higher number - * indicates an estimated greater likelihood that the recognized words are - * correct. This field is set only for the top alternative. - * This field is not guaranteed to be accurate and users should not rely on it - * to be always provided. - * The default of 0.0 is a sentinel value indicating `confidence` was not set. - * - * @property {number} speakerTag - * Output only. A distinct integer value is assigned for every speaker within - * the audio. This field specifies which one of those speakers was detected to - * have spoken this word. Value ranges from 1 up to diarization_speaker_count, - * and is only set if speaker diarization is enabled. - * - * @typedef WordInfo - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.WordInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const WordInfo = { - // 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.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Normalized bounding polygon for text (that might not be aligned with axis). - * Contains list of the corner points in clockwise order starting from - * top-left corner. For example, for a rectangular bounding box: - * When the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * - * When it's clockwise 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). Note that values can be less - * than 0, or greater than 1 due to trignometric calculations for location of - * the box. - * - * @property {Object[]} vertices - * Normalized vertices of the bounding polygon. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex} - * - * @typedef NormalizedBoundingPoly - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const NormalizedBoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video segment level annotation results for text detection. - * - * @property {Object} segment - * Video segment where a text snippet was detected. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {number} confidence - * Confidence for the track of detected text. It is calculated as the highest - * over all frames where OCR detected text appears. - * - * @property {Object[]} frames - * Information related to the frames where OCR detected text appears. - * - * This object should have the same structure as [TextFrame]{@link google.cloud.videointelligence.v1p3beta1.TextFrame} - * - * @typedef TextSegment - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.TextSegment definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const TextSegment = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotation results for text annotation (OCR). - * Contains information regarding timestamp and bounding box locations for the - * frames containing detected OCR text snippets. - * - * @property {Object} rotatedBoundingBox - * Bounding polygon of the detected text for this frame. - * - * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly} - * - * @property {Object} timeOffset - * Timestamp of this frame. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef TextFrame - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.TextFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const TextFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations related to one detected OCR text snippet. This will contain the - * corresponding text, confidence value, and frame level information for each - * detection. - * - * @property {string} text - * The detected text. - * - * @property {Object[]} segments - * All video segments where OCR detected text appears. - * - * This object should have the same structure as [TextSegment]{@link google.cloud.videointelligence.v1p3beta1.TextSegment} - * - * @typedef TextAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video frame level annotations for object detection and tracking. This field - * stores per frame location, time offset, and confidence. - * - * @property {Object} normalizedBoundingBox - * The normalized bounding box location of this object track for the frame. - * - * This object should have the same structure as [NormalizedBoundingBox]{@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox} - * - * @property {Object} timeOffset - * The timestamp of the frame in microseconds. - * - * This object should have the same structure as [Duration]{@link google.protobuf.Duration} - * - * @typedef ObjectTrackingFrame - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ObjectTrackingFrame = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotations corresponding to one tracked object. - * - * @property {Object} entity - * Entity to specify the object category that this track is labeled as. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} - * - * @property {number} confidence - * Object category's labeling confidence of this track. - * - * @property {Object[]} frames - * Information corresponding to all frames where this object track appears. - * Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame - * messages in frames. - * Streaming mode: it can only be one ObjectTrackingFrame message in frames. - * - * This object should have the same structure as [ObjectTrackingFrame]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame} - * - * @property {Object} segment - * Non-streaming batch mode ONLY. - * Each object track corresponds to one video segment where it appears. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {number} trackId - * Streaming mode ONLY. - * In streaming mode, we do not know the end time of a tracked object - * before it is completed. Hence, there is no VideoSegment info returned. - * Instead, we provide a unique identifiable integer track_id so that - * the customers can correlate the results of the ongoing - * ObjectTrackAnnotation of the same track_id over time. - * - * @typedef ObjectTrackingAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const ObjectTrackingAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Annotation corresponding to one detected, tracked and recognized logo class. - * - * @property {Object} entity - * Entity category information to specify the logo class that all the logo - * tracks within this LogoRecognitionAnnotation are recognized as. - * - * This object should have the same structure as [Entity]{@link google.cloud.videointelligence.v1p3beta1.Entity} - * - * @property {Object[]} tracks - * All logo tracks where the recognized logo appears. Each track corresponds - * to one logo instance appearing in consecutive frames. - * - * This object should have the same structure as [Track]{@link google.cloud.videointelligence.v1p3beta1.Track} - * - * @property {Object[]} segments - * All video segments where the recognized logo appears. There might be - * multiple instances of the same logo class appearing in one VideoSegment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @typedef LogoRecognitionAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const LogoRecognitionAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The top-level message sent by the client for the `StreamingAnnotateVideo` - * method. Multiple `StreamingAnnotateVideoRequest` messages are sent. - * The first message must only contain a `StreamingVideoConfig` message. - * All subsequent messages must only contain `input_content` data. - * - * @property {Object} videoConfig - * Provides information to the annotator, specifing how to process the - * request. The first `AnnotateStreamingVideoRequest` message must only - * contain a `video_config` message. - * - * This object should have the same structure as [StreamingVideoConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} - * - * @property {Buffer} inputContent - * The video data to be annotated. Chunks of video data are sequentially - * sent in `StreamingAnnotateVideoRequest` messages. Except the initial - * `StreamingAnnotateVideoRequest` message containing only - * `video_config`, all subsequent `AnnotateStreamingVideoRequest` - * messages must only contain `input_content` field. - * Note: as with all bytes fields, protobuffers use a pure binary - * representation (not base64). - * - * @typedef StreamingAnnotateVideoRequest - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingAnnotateVideoRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * `StreamingAnnotateVideoResponse` is the only message returned to the client - * by `StreamingAnnotateVideo`. A series of zero or more - * `StreamingAnnotateVideoResponse` messages are streamed back to the client. - * - * @property {Object} error - * If set, returns a google.rpc.Status message that - * specifies the error for the operation. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} annotationResults - * Streaming annotation results. - * - * This object should have the same structure as [StreamingVideoAnnotationResults]{@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} - * - * @property {string} annotationResultsUri - * GCS URI that stores annotation results of one streaming session. - * It is a directory that can hold multiple files in JSON format. - * Example uri format: - * gs://bucket_id/object_id/cloud_project_name-session_id - * - * @typedef StreamingAnnotateVideoResponse - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingAnnotateVideoResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_AUTOML_CLASSIFICATION. - * - * @property {string} modelName - * Resource name of AutoML model. - * Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` - * - * @typedef StreamingAutomlClassificationConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingAutomlClassificationConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_AUTOML_OBJECT_TRACKING. - * - * @property {string} modelName - * Resource name of AutoML model. - * Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` - * - * @typedef StreamingAutomlObjectTrackingConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingAutomlObjectTrackingConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_EXPLICIT_CONTENT_DETECTION. - * @typedef StreamingExplicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingExplicitContentDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_LABEL_DETECTION. - * - * @property {boolean} stationaryCamera - * Whether the video has been captured from a stationary (i.e. non-moving) - * camera. When set to true, might improve detection accuracy for moving - * objects. Default: false. - * - * @typedef StreamingLabelDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingLabelDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_OBJECT_TRACKING. - * @typedef StreamingObjectTrackingConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingObjectTrackingConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for STREAMING_SHOT_CHANGE_DETECTION. - * @typedef StreamingShotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingShotChangeDetectionConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Config for streaming storage option. - * - * @property {boolean} enableStorageAnnotationResult - * Enable streaming storage. Default: false. - * - * @property {string} annotationResultStorageDirectory - * GCS URI to store all annotation results for one client. Client should - * specify this field as the top-level storage directory. Annotation results - * of different sessions will be put into different sub-directories denoted - * by project_name and session_id. All sub-directories will be auto generated - * by program and will be made accessible to client in response proto. - * URIs must be specified in the following format: `gs://bucket-id/object-id` - * `bucket-id` should be a valid GCS bucket created by client and bucket - * permission shall also be configured properly. `object-id` can be arbitrary - * string that make sense to client. Other URI formats will return error and - * cause GCS write failure. - * - * @typedef StreamingStorageConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingStorageConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Streaming annotation results corresponding to a portion of the video - * that is currently being processed. - * - * @property {Object[]} shotAnnotations - * Shot annotation results. Each shot is represented as a video segment. - * - * This object should have the same structure as [VideoSegment]{@link google.cloud.videointelligence.v1p3beta1.VideoSegment} - * - * @property {Object[]} labelAnnotations - * Label annotation results. - * - * This object should have the same structure as [LabelAnnotation]{@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation} - * - * @property {Object} explicitAnnotation - * Explicit content annotation results. - * - * This object should have the same structure as [ExplicitContentAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation} - * - * @property {Object[]} objectAnnotations - * Object tracking results. - * - * This object should have the same structure as [ObjectTrackingAnnotation]{@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation} - * - * @typedef StreamingVideoAnnotationResults - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingVideoAnnotationResults = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Provides information to the annotator that specifies how to process the - * request. - * - * @property {number} feature - * Requested annotation feature. - * - * The number should be among the values of [StreamingFeature]{@link google.cloud.videointelligence.v1p3beta1.StreamingFeature} - * - * @property {Object} shotChangeDetectionConfig - * Config for STREAMING_SHOT_CHANGE_DETECTION. - * - * This object should have the same structure as [StreamingShotChangeDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} - * - * @property {Object} labelDetectionConfig - * Config for STREAMING_LABEL_DETECTION. - * - * This object should have the same structure as [StreamingLabelDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig} - * - * @property {Object} explicitContentDetectionConfig - * Config for STREAMING_EXPLICIT_CONTENT_DETECTION. - * - * This object should have the same structure as [StreamingExplicitContentDetectionConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} - * - * @property {Object} objectTrackingConfig - * Config for STREAMING_OBJECT_TRACKING. - * - * This object should have the same structure as [StreamingObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} - * - * @property {Object} automlClassificationConfig - * Config for STREAMING_AUTOML_CLASSIFICATION. - * - * This object should have the same structure as [StreamingAutomlClassificationConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} - * - * @property {Object} automlObjectTrackingConfig - * Config for STREAMING_AUTOML_OBJECT_TRACKING. - * - * This object should have the same structure as [StreamingAutomlObjectTrackingConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} - * - * @property {Object} storageConfig - * Streaming storage option. By default: storage is disabled. - * - * This object should have the same structure as [StreamingStorageConfig]{@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} - * - * @typedef StreamingVideoConfig - * @memberof google.cloud.videointelligence.v1p3beta1 - * @see [google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto} - */ -const StreamingVideoConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p3beta1 - */ -const Feature = { - - /** - * Unspecified. - */ - FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - EXPLICIT_CONTENT_DETECTION: 3, - - /** - * Human face detection. - */ - FACE_DETECTION: 4, - - /** - * Speech transcription. - */ - SPEECH_TRANSCRIPTION: 6, - - /** - * OCR text detection and tracking. - */ - TEXT_DETECTION: 7, - - /** - * Object detection and tracking. - */ - OBJECT_TRACKING: 9, - - /** - * Logo detection, tracking, and recognition. - */ - LOGO_RECOGNITION: 12, - - /** - * Celebrity recognition. - */ - CELEBRITY_RECOGNITION: 13, - - /** - * Person detection. - */ - PERSON_DETECTION: 14 -}; - -/** - * Label detection mode. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p3beta1 - */ -const LabelDetectionMode = { - - /** - * Unspecified. - */ - LABEL_DETECTION_MODE_UNSPECIFIED: 0, - - /** - * Detect shot-level labels. - */ - SHOT_MODE: 1, - - /** - * Detect frame-level labels. - */ - FRAME_MODE: 2, - - /** - * Detect both shot-level and frame-level labels. - */ - SHOT_AND_FRAME_MODE: 3 -}; - -/** - * Bucketized representation of likelihood. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p3beta1 - */ -const Likelihood = { - - /** - * Unspecified likelihood. - */ - LIKELIHOOD_UNSPECIFIED: 0, - - /** - * Very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * Unlikely. - */ - UNLIKELY: 2, - - /** - * Possible. - */ - POSSIBLE: 3, - - /** - * Likely. - */ - LIKELY: 4, - - /** - * Very likely. - */ - VERY_LIKELY: 5 -}; - -/** - * Streaming video annotation feature. - * - * @enum {number} - * @memberof google.cloud.videointelligence.v1p3beta1 - */ -const StreamingFeature = { - - /** - * Unspecified. - */ - STREAMING_FEATURE_UNSPECIFIED: 0, - - /** - * Label detection. Detect objects, such as dog or flower. - */ - STREAMING_LABEL_DETECTION: 1, - - /** - * Shot change detection. - */ - STREAMING_SHOT_CHANGE_DETECTION: 2, - - /** - * Explicit content detection. - */ - STREAMING_EXPLICIT_CONTENT_DETECTION: 3, - - /** - * Object detection and tracking. - */ - STREAMING_OBJECT_TRACKING: 4, - - /** - * Video classification based on AutoML model. - */ - STREAMING_AUTOML_CLASSIFICATION: 21, - - /** - * Object detection and tracking based on AutoML model. - */ - STREAMING_AUTOML_OBJECT_TRACKING: 22 -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js deleted file mode 100644 index bd4b4ee6067..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/protobuf/doc_duration.js +++ /dev/null @@ -1,97 +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 Duration represents a signed, fixed-length span of time represented - * as a count of seconds and fractions of seconds at nanosecond - * resolution. It is independent of any calendar and concepts like "day" - * or "month". It is related to Timestamp in that the difference between - * two Timestamp values is a Duration and it can be added or subtracted - * from a Timestamp. Range is approximately +-10,000 years. - * - * # Examples - * - * Example 1: Compute Duration from two Timestamps in pseudo code. - * - * Timestamp start = ...; - * Timestamp end = ...; - * Duration duration = ...; - * - * duration.seconds = end.seconds - start.seconds; - * duration.nanos = end.nanos - start.nanos; - * - * if (duration.seconds < 0 && duration.nanos > 0) { - * duration.seconds += 1; - * duration.nanos -= 1000000000; - * } else if (durations.seconds > 0 && duration.nanos < 0) { - * duration.seconds -= 1; - * duration.nanos += 1000000000; - * } - * - * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - * - * Timestamp start = ...; - * Duration duration = ...; - * Timestamp end = ...; - * - * end.seconds = start.seconds + duration.seconds; - * end.nanos = start.nanos + duration.nanos; - * - * if (end.nanos < 0) { - * end.seconds -= 1; - * end.nanos += 1000000000; - * } else if (end.nanos >= 1000000000) { - * end.seconds += 1; - * end.nanos -= 1000000000; - * } - * - * Example 3: Compute Duration from datetime.timedelta in Python. - * - * td = datetime.timedelta(days=3, minutes=10) - * duration = Duration() - * duration.FromTimedelta(td) - * - * # JSON Mapping - * - * In JSON format, the Duration type is encoded as a string rather than an - * object, where the string ends in the suffix "s" (indicating seconds) and - * is preceded by the number of seconds, with nanoseconds expressed as - * fractional seconds. For example, 3 seconds with 0 nanoseconds should be - * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - * microsecond should be expressed in JSON format as "3.000001s". - * - * @property {number} seconds - * Signed seconds of the span of time. Must be from -315,576,000,000 - * to +315,576,000,000 inclusive. Note: these bounds are computed from: - * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - * - * @property {number} nanos - * Signed fractions of a second at nanosecond resolution of the span - * of time. Durations less than one second are represented with a 0 - * `seconds` field and a positive or negative `nanos` field. For durations - * of one second or more, a non-zero value for the `nanos` field must be - * of the same sign as the `seconds` field. Must be from -999,999,999 - * to +999,999,999 inclusive. - * - * @typedef Duration - * @memberof google.protobuf - * @see [google.protobuf.Duration definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto} - */ -const Duration = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-videointelligence/src/v1p3beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/index.js b/packages/google-cloud-videointelligence/src/v1p3beta1/index.js deleted file mode 100644 index 612cf0bc4a0..00000000000 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/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 VideoIntelligenceServiceClient = require('./video_intelligence_service_client'); -const StreamingVideoIntelligenceServiceClient = require('./streaming_video_intelligence_service_client'); - -module.exports.VideoIntelligenceServiceClient = VideoIntelligenceServiceClient; -module.exports.StreamingVideoIntelligenceServiceClient = StreamingVideoIntelligenceServiceClient; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts new file mode 100644 index 00000000000..f24651ba907 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/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 {StreamingVideoIntelligenceServiceClient} from './streaming_video_intelligence_service_client'; +export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts similarity index 62% rename from packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 7f525168f77..02017302bb7 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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,22 +11,38 @@ // WITHOUT 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('./streaming_video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './streaming_video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements streaming Google Cloud Video Intelligence API. - * + * Service that implements streaming Google Cloud Video Intelligence API. * @class * @memberof v1p3beta1 */ -class StreamingVideoIntelligenceServiceClient { +export class StreamingVideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + streamingVideoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of StreamingVideoIntelligenceServiceClient. * @@ -54,58 +70,57 @@ class StreamingVideoIntelligenceServiceClient { * @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 StreamingVideoIntelligenceServiceClient; + 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 StreamingVideoIntelligenceServiceClient).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. @@ -132,8 +147,8 @@ class StreamingVideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -144,35 +159,51 @@ class StreamingVideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService. - const streamingVideoIntelligenceServiceStub = gaxGrpc.createStub( + this.streamingVideoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1p3beta1 + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1p3beta1 .StreamingVideoIntelligenceService, 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 streamingVideoIntelligenceServiceStubMethods = [ 'streamingAnnotateVideo', ]; + for (const methodName of streamingVideoIntelligenceServiceStubMethods) { - const innerCallPromise = streamingVideoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.streamingVideoIntelligenceServiceStub.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], - this._descriptors.stream[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); + }; } } @@ -206,13 +237,21 @@ class StreamingVideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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(); } // ------------------- @@ -224,34 +263,29 @@ class StreamingVideoIntelligenceServiceClient { * while sending video/audio bytes. * This method is only available via the gRPC API (not REST). * - * @param {Object} [options] - * Optional parameters. You 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 {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 is both readable and writable. It accepts objects * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. - * - * @example - * - * const videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const stream = client.streamingAnnotateVideo().on('data', response => { - * // doThingsWith(response) - * }); - * const request = {}; - * // Write request objects. - * stream.write(request); */ - streamingAnnotateVideo(options) { - options = options || {}; - + streamingAnnotateVideo(options?: gax.CallOptions): gax.CancellableStream { return this._innerApiCalls.streamingAnnotateVideo(options); } -} -module.exports = StreamingVideoIntelligenceServiceClient; + /** + * 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.streamingVideoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json index 7638632a36e..b569dbe81f9 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client_config.json @@ -2,21 +2,21 @@ "interfaces": { "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService": { "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": 10800000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 10800000, - "total_timeout_millis": 10800000 + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 } }, "methods": { diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts similarity index 55% rename from packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js rename to packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 166d89d1560..afeef9058a9 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.js +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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,22 +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, + LROperation, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./video_intelligence_service_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './video_intelligence_service_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. - * + * Service that implements Google Cloud Video Intelligence API. * @class * @memberof v1p3beta1 */ -class VideoIntelligenceServiceClient { +export class VideoIntelligenceServiceClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of VideoIntelligenceServiceClient. * @@ -54,58 +72,57 @@ class VideoIntelligenceServiceClient { * @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 VideoIntelligenceServiceClient; + 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 VideoIntelligenceServiceClient).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. @@ -121,24 +138,25 @@ class VideoIntelligenceServiceClient { 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 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 annotateVideoResponse = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' - ); + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - 'google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress' - ); + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; this._descriptors.longrunning = { annotateVideo: new gaxModule.LongrunningDescriptor( @@ -151,8 +169,8 @@ class VideoIntelligenceServiceClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -163,33 +181,49 @@ class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService. - const videoIntelligenceServiceStub = gaxGrpc.createStub( + this.videoIntelligenceServiceStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService( + ? (protos as protobuf.Root).lookupService( 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService' ) - : protos.google.cloud.videointelligence.v1p3beta1 + : // tslint:disable-next-line no-any + (protos as any).google.cloud.videointelligence.v1p3beta1 .VideoIntelligenceService, 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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = videoIntelligenceServiceStub.then( - stub => (...args) => { + const innerCallPromise = this.videoIntelligenceServiceStub.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], - 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); + }; } } @@ -223,19 +257,52 @@ class VideoIntelligenceServiceClient { return ['https://www.googleapis.com/auth/cloud-platform']; } + 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 -- // ------------------- + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -244,141 +311,96 @@ class VideoIntelligenceServiceClient { * * @param {Object} request * The request object that will be sent. - * @param {string} [request.inputUri] + * @param {string} request.inputUri * Input video location. Currently, only * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). A video + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video * URI may include wildcards in `object-id`, and thus identify multiple * videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} [request.inputContent] + * @param {Buffer} request.inputContent * The video data bytes. * If unset, the input video(s) should be specified via `input_uri`. * If set, `input_uri` should be unset. - * @param {number[]} [request.features] + * @param {number[]} request.features * Required. Requested video annotation features. - * - * The number should be among the values of [Feature]{@link google.cloud.videointelligence.v1p3beta1.Feature} - * @param {Object} [request.videoContext] + * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. - * - * This object should have the same structure as [VideoContext]{@link google.cloud.videointelligence.v1p3beta1.VideoContext} * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * google.rpc.Code.INVALID_ARGUMENT). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/reference-uris). + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region * is specified, a region will be determined based on video file location. - * @param {Object} [options] - * Optional parameters. You 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. + * @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 a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * 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 videoIntelligence = require('@google-cloud/video-intelligence'); - * - * const client = new videoIntelligence.v1p3beta1.VideoIntelligenceServiceClient({ - * // optional auth parameters. - * }); - * - * const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the promise pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.annotateVideo(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 inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - * const featuresElement = 'LABEL_DETECTION'; - * const features = [featuresElement]; - * const request = { - * inputUri: inputUri, - * features: features, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.annotateVideo(request); - * - * const [response] = await operation.promise(); */ - annotateVideo(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + annotateVideo( + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + 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; } - request = request || {}; options = options || {}; - return this._innerApiCalls.annotateVideo(request, options, callback); } -} -module.exports = VideoIntelligenceServiceClient; + /** + * 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.videoIntelligenceServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json index 2023e52ad84..c9796e48a4a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client_config.json @@ -2,20 +2,29 @@ "interfaces": { "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService": { "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": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "44183339c3ec233f7d8e740ee644b7ceb1a77fc3": { "initial_retry_delay_millis": 1000, "retry_delay_multiplier": 2.5, "max_retry_delay_millis": 120000, - "initial_rpc_timeout_millis": 120000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 120000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, @@ -23,7 +32,7 @@ "AnnotateVideo": { "timeout_millis": 600000, "retry_codes_name": "idempotent", - "retry_params_name": "default" + "retry_params_name": "44183339c3ec233f7d8e740ee644b7ceb1a77fc3" } } } diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 7a2d40faed4..b8c94543e20 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,33 +1,13 @@ { - "updateTime": "2020-02-13T20:34:22.826443Z", + "updateTime": "2020-03-05T22:26:31.988229Z", "sources": [ - { - "git": { - "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "eb9b400c24bdf306d8263ec402922b3235754034" - } - }, - { - "git": { - "name": "synthtool", - "remote": "https://github.com/googleapis/synthtool.git", - "sha": "f320a85654b7c8eedcce5f66e7ccc4fbf8fae6ac" - } - }, - { - "generator": { - "name": "artman", - "version": "0.45.0", - "dockerImage": "googleapis/artman@sha256:6aec9c34db0e4be221cdaf6faba27bdc07cfea846808b3d3b964dfce3a9a0f9b" - } - }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "56b55aa8818cd0a532a7d779f6ef337ba809ccbd", - "internalRef": "294931650" + "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\n" } }, { @@ -44,9 +24,8 @@ "source": "googleapis", "apiName": "video-intelligence", "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -54,9 +33,8 @@ "source": "googleapis", "apiName": "video-intelligence", "apiVersion": "v1beta2", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -64,9 +42,8 @@ "source": "googleapis", "apiName": "video-intelligence", "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -74,9 +51,8 @@ "source": "googleapis", "apiName": "video-intelligence", "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -84,9 +60,8 @@ "source": "googleapis", "apiName": "video-intelligence", "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } } ] diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 949058bdda0..fe5f04950e2 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -5,30 +5,28 @@ logging.basicConfig(level=logging.DEBUG) -gapic = gcp.GAPICGenerator() +gapic = gcp.GAPICMicrogenerator() common_templates = gcp.CommonTemplates() versions = ["v1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] for version in versions: - library = gapic.node_library( + library = gapic.typescript_library( "video-intelligence", version, - config_path="/google/cloud/videointelligence/" - f"artman_videointelligence_{version}.yaml", + generator_args={ + "grpc-service-config": f"google/cloud/videointelligence/{version}/videointelligence_grpc_service_config.json", + "package-name": f"@google-cloud/video-intelligence", + "main-service": f"videointelligence", + }, + proto_path=f'/google/cloud/videointelligence/{version}', ) # skip index, protos, package.json, and README.md - s.copy(library, excludes=["package.json", "README.md", "src/index.js", "smoke-test/video_intelligence_service_smoke_test.js"]) + s.copy(library, excludes=["package.json", "README.md", "src/index.ts", + "smoke-test/video_intelligence_service_smoke_test.ts"]) -# -# Generator emitted unused helper mockSimpleGrpcMethod, add a temporary -# s.replace to remove that function. -# ref: https://github.com/googleapis/gapic-generator/issues/2120 -# -s.replace("test/gapic-*.js", "function mockSimpleGrpcMethod.*\n(.*\n)*?}\n", "") - -templates = common_templates.node_library() +templates = common_templates.node_library(source_location='build/src') s.copy(templates) # Node.js specific cleanup diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..efa1f2db1a6 --- /dev/null +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// 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. ** + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const videointelligence = require('@google-cloud/video-intelligence'); + +function main() { + const streamingVideoIntelligenceServiceClient = new videointelligence.StreamingVideoIntelligenceServiceClient(); + const videoIntelligenceServiceClient = new videointelligence.VideoIntelligenceServiceClient(); +} + +main(); diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..479e287cb43 --- /dev/null +++ b/packages/google-cloud-videointelligence/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 {StreamingVideoIntelligenceServiceClient, VideoIntelligenceServiceClient} from '@google-cloud/video-intelligence'; + +function main() { + const streamingVideoIntelligenceServiceClient = new StreamingVideoIntelligenceServiceClient(); + const videoIntelligenceServiceClient = new VideoIntelligenceServiceClient(); +} + +main(); diff --git a/packages/google-cloud-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts new file mode 100644 index 00000000000..c9aa74ec221 --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/video_intelligence_service_smoke_test.js b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts similarity index 89% rename from packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js rename to packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts index ebe48556bd2..be6d69d3584 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.js +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts @@ -12,9 +12,8 @@ // 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'; +import {Operation} from 'google-gax'; describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { @@ -30,14 +29,14 @@ describe('VideoIntelligenceServiceSmokeTest', () => { const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { - inputUri: inputUri, - features: features, + inputUri, + features, }; // Handle the operation using the promise pattern. client .annotateVideo(request) - .then(responses => { + .then((responses: Operation[]) => { const operation = responses[0]; const initialApiResponse = responses[1]; console.log(operation); @@ -46,7 +45,7 @@ describe('VideoIntelligenceServiceSmokeTest', () => { // Operation#promise starts polling for the completion of the LRO. return operation.promise(); }) - .then(responses => { + .then((responses: Operation[]) => { // The final result of the operation. const result = responses[0]; @@ -77,25 +76,25 @@ describe('VideoIntelligenceServiceSmokeTest', () => { const featuresElement = 'LABEL_DETECTION'; const features = [featuresElement]; const request = { - inputUri: inputUri, - features: features, + inputUri, + features, }; // Handle the operation using the event emitter pattern. client .annotateVideo(request) - .then(responses => { + .then((responses: Operation[]) => { const operation = responses[0]; // Adding a listener for the "complete" event starts polling for the // completion of the operation. - operation.on('complete', result => { + operation.on('complete', (result: string) => { console.log(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 => { + operation.on('progress', (metadata: string) => { console.log(metadata); }); diff --git a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts new file mode 100644 index 00000000000..c04259d5cbb --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts @@ -0,0 +1,157 @@ +// 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 streamingvideointelligenceserviceModule = require('../src'); + +import {PassThrough} from 'stream'; + +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 mockBidiStreamingGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return () => { + const mockStream = new PassThrough({ + objectMode: true, + transform: (chunk: {}, enc: {}, callback: Callback) => { + assert.deepStrictEqual(chunk, expectedRequest); + if (error) { + callback(error); + } else { + callback(null, response); + } + }, + }); + return mockStream; + }; +} +describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + describe('streamingAnnotateVideo', () => { + it('invokes streamingAnnotateVideo without error', done => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( + request, + expectedResponse, + null + ); + const stream = client + .streamingAnnotateVideo() + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(request); + }); + it('invokes streamingAnnotateVideo with error', done => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( + request, + null, + error + ); + const stream = client + .streamingAnnotateVideo() + .on('data', () => { + assert.fail(); + }) + .on('error', (err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + stream.write(request); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js b/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js deleted file mode 100644 index 5d149f65233..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-v1p3beta1.js +++ /dev/null @@ -1,300 +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 {PassThrough} = require('stream'); - -const videoIntelligenceModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = - videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( - {fallback: true} - ); - assert(client); - }); - - describe('annotateVideo', function() { - it('invokes annotateVideo without error', done => { - const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .annotateVideo(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes annotateVideo with error', done => { - const client = new videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock Grpc layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .annotateVideo(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 videoIntelligenceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); - }); -}); -describe('StreamingVideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = - videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - {fallback: true} - ); - assert(client); - }); - - describe('streamingAnnotateVideo', () => { - it('invokes streamingAnnotateVideo without error', done => { - const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const request = {}; - - // Mock response - const annotationResultsUri = 'annotationResultsUri-238075757'; - const expectedResponse = { - annotationResultsUri: annotationResultsUri, - }; - - // Mock Grpc layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( - request, - expectedResponse - ); - - const stream = client - .streamingAnnotateVideo() - .on('data', response => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', err => { - done(err); - }); - - stream.write(request); - }); - - it('invokes streamingAnnotateVideo with error', done => { - const client = new videoIntelligenceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - - // Mock request - const request = {}; - - // Mock Grpc layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( - request, - null, - error - ); - - const stream = client - .streamingAnnotateVideo() - .on('data', () => { - assert.fail(); - }) - .on('error', err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - - stream.write(request); - }); - }); -}); - -function mockBidiStreamingGrpcMethod(expectedRequest, response, error) { - return () => { - const mockStream = new PassThrough({ - objectMode: true, - transform: (chunk, enc, callback) => { - assert.deepStrictEqual(chunk, expectedRequest); - if (error) { - callback(error); - } else { - callback(null, response); - } - }, - }); - return mockStream; - }; -} - -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-videointelligence/test/gapic-v1p2beta1.js b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts similarity index 54% rename from packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js rename to packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts index 1c4f1bd3ad0..f970f74f13a 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.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,167 +11,151 @@ // WITHOUT 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 videoIntelligenceModule = require('../src'); +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const videointelligenceserviceModule = 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('VideoIntelligenceServiceClient', () => { +export class Operation { + constructor() {} + promise() {} +} +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.VideoIntelligenceServiceClient', () => { it('has servicePath', () => { const servicePath = - videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient .servicePath; assert(servicePath); }); - it('has apiEndpoint', () => { const apiEndpoint = - videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient .apiEndpoint; assert(apiEndpoint); }); - it('has port', () => { const port = - videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient.port; + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; assert(port); assert(typeof port === 'number'); }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient(); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); assert(client); }); - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( - {fallback: true} + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + fallback: true, + } ); assert(client); }); - - describe('annotateVideo', function() { + describe('annotateVideo', () => { it('invokes annotateVideo without error', done => { - const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - + const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, expectedResponse ); - client .annotateVideo(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 annotateVideo with error', done => { - const client = new videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, null, error ); - client .annotateVideo(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 videoIntelligenceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); }); }); - -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-videointelligence/test/gapic-v1beta2.js b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts similarity index 51% rename from packages/google-cloud-videointelligence/test/gapic-v1beta2.js rename to packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts index 761a0cf529e..136b93736db 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1beta2.js +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.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,167 +11,152 @@ // WITHOUT 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 videoIntelligenceModule = require('../src'); +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const videointelligenceserviceModule = 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('VideoIntelligenceServiceClient', () => { +export class Operation { + constructor() {} + promise() {} +} +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('v1beta2.VideoIntelligenceServiceClient', () => { it('has servicePath', () => { const servicePath = - videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient .servicePath; assert(servicePath); }); - it('has apiEndpoint', () => { const apiEndpoint = - videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient .apiEndpoint; assert(apiEndpoint); }); - it('has port', () => { const port = - videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient.port; + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .port; assert(port); assert(typeof port === 'number'); }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient(); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); assert(client); }); - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( - {fallback: true} + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + fallback: true, + } ); assert(client); }); - - describe('annotateVideo', function() { + describe('annotateVideo', () => { it('invokes annotateVideo without error', done => { - const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - + const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, expectedResponse ); - client .annotateVideo(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 annotateVideo with error', done => { - const client = new videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, null, error ); - client .annotateVideo(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 videoIntelligenceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); }); }); - -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-videointelligence/test/gapic-v1p1beta1.js b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts similarity index 51% rename from packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js rename to packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts index 2d7ae2d736d..cb41aabab3b 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.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,167 +11,152 @@ // WITHOUT 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 videoIntelligenceModule = require('../src'); +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const videointelligenceserviceModule = 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('VideoIntelligenceServiceClient', () => { +export class Operation { + constructor() {} + promise() {} +} +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('v1p1beta1.VideoIntelligenceServiceClient', () => { it('has servicePath', () => { const servicePath = - videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient .servicePath; assert(servicePath); }); - it('has apiEndpoint', () => { const apiEndpoint = - videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient .apiEndpoint; assert(apiEndpoint); }); - it('has port', () => { const port = - videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient.port; + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .port; assert(port); assert(typeof port === 'number'); }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient(); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); assert(client); }); - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( - {fallback: true} + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } ); assert(client); }); - - describe('annotateVideo', function() { + describe('annotateVideo', () => { it('invokes annotateVideo without error', done => { - const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - + const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, expectedResponse ); - client .annotateVideo(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 annotateVideo with error', done => { - const client = new videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri: inputUri, - features: features, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, null, error ); - client .annotateVideo(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 videoIntelligenceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); }); }); - -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-videointelligence/test/gapic-v1.js b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts similarity index 50% rename from packages/google-cloud-videointelligence/test/gapic-v1.js rename to packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts index 1c065bd4af6..553893674da 100644 --- a/packages/google-cloud-videointelligence/test/gapic-v1.js +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-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,164 +11,152 @@ // WITHOUT 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 videoIntelligenceModule = require('../src'); +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const videointelligenceserviceModule = 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('VideoIntelligenceServiceClient', () => { +export class Operation { + constructor() {} + promise() {} +} +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.VideoIntelligenceServiceClient', () => { it('has servicePath', () => { const servicePath = - videoIntelligenceModule.v1.VideoIntelligenceServiceClient.servicePath; + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .servicePath; assert(servicePath); }); - it('has apiEndpoint', () => { const apiEndpoint = - videoIntelligenceModule.v1.VideoIntelligenceServiceClient.apiEndpoint; + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .apiEndpoint; assert(apiEndpoint); }); - it('has port', () => { - const port = videoIntelligenceModule.v1.VideoIntelligenceServiceClient.port; + const port = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .port; assert(port); assert(typeof port === 'number'); }); - - it('should create a client with no options', () => { - const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient(); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); assert(client); }); - it('should create a client with gRPC fallback', () => { - const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( - {fallback: true} + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } ); assert(client); }); - - describe('annotateVideo', function() { + describe('annotateVideo', () => { it('invokes annotateVideo without error', done => { - const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const request = { - features: features, - inputUri: inputUri, - }; - + const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, expectedResponse ); - client .annotateVideo(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 annotateVideo with error', done => { - const client = new videoIntelligenceModule.v1.VideoIntelligenceServiceClient( + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', } ); - // Mock request - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const request = { - features: features, - inputUri: inputUri, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( request, null, error ); - client .annotateVideo(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 videoIntelligenceModule.v1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert( - client._descriptors.longrunning.annotateVideo.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.annotateVideo.metadataDecoder instanceof - Function - ); - }); }); }); - -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-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts new file mode 100644 index 00000000000..9d4acfc7430 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts @@ -0,0 +1,162 @@ +// 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 videointelligenceserviceModule = 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 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.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .annotateVideo(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 annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .annotateVideo(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-videointelligence/tsconfig.json b/packages/google-cloud-videointelligence/tsconfig.json new file mode 100644 index 00000000000..613d35597b5 --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/tslint.json b/packages/google-cloud-videointelligence/tslint.json new file mode 100644 index 00000000000..617dc975bae --- /dev/null +++ b/packages/google-cloud-videointelligence/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "gts/tslint.json" +} diff --git a/packages/google-cloud-videointelligence/webpack.config.js b/packages/google-cloud-videointelligence/webpack.config.js index c8b97cca605..8a0a183124c 100644 --- a/packages/google-cloud-videointelligence/webpack.config.js +++ b/packages/google-cloud-videointelligence/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,11 +12,13 @@ // 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: 'video-intelligence', - filename: './video-intelligence.js', + library: 'videointelligence', + filename: './videointelligence.js', }, node: { child_process: 'empty', @@ -24,20 +26,36 @@ 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[\\/]/, + 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[\\/]/, + test: /node_modules[\\/]https?-proxy-agent/, use: 'null-loader', }, { - test: /node_modules[\\/]gtoken[\\/]/, + test: /node_modules[\\/]gtoken/, use: 'null-loader', }, ], From dbca45d885c646f0debae366e45c53806a2e6958 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 9 Mar 2020 11:25:31 -0700 Subject: [PATCH 262/418] chore: release 2.8.0 (#386) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 29f76310d45..c6fc904b1a2 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.8.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.7.0...v2.8.0) (2020-03-09) + + +### Features + +* typescript conversion on video-intelligence ([#375](https://www.github.com/googleapis/nodejs-video-intelligence/issues/375)) ([30b01d5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/30b01d5b2e5eae2c26591f916255ee4f09ea5dff)) + ## [2.7.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.5...v2.7.0) (2020-02-13) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ed93f1d410b..7c8093712ee 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.7.0", + "version": "2.8.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index f4f66d11982..9416cd61eae 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.7.0", + "@google-cloud/video-intelligence": "^2.8.0", "yargs": "^15.0.0" }, "devDependencies": { From 70bd64f5a5b747b8d3e9e95f1e659a634ff25047 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 11 Mar 2020 23:52:45 +0100 Subject: [PATCH 263/418] chore(deps): update dependency @types/mocha to v7 (#388) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 7c8093712ee..d149205c22b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,7 +46,7 @@ "google-gax": "^1.14.2" }, "devDependencies": { - "@types/mocha": "^5.2.7", + "@types/mocha": "^7.0.0", "@types/node": "^12.12.29", "c8": "^7.0.0", "eslint": "^6.0.0", From 4815243b9c795b020886b42c9698f9fa0b5fa3ff Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 11 Mar 2020 16:16:08 -0700 Subject: [PATCH 264/418] feat: deferred client initialization (#389) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/a1ae7e58-ef86-42f5-b3a0-d9d60771ed31/targets --- .../v1/video_intelligence_service_client.ts | 340 ++++++++---------- .../video_intelligence_service_client.ts | 340 ++++++++---------- .../video_intelligence_service_client.ts | 340 ++++++++---------- .../video_intelligence_service_client.ts | 340 ++++++++---------- .../src/v1p3beta1/index.ts | 3 +- ...aming_video_intelligence_service_client.ts | 178 ++++----- .../video_intelligence_service_client.ts | 340 ++++++++---------- .../synth.metadata | 8 +- .../system-test/install.ts | 28 +- ...ng_video_intelligence_service-v1p3beta1.ts | 230 ++++++------ .../gapic-video_intelligence_service-v1.ts | 243 +++++++------ ...apic-video_intelligence_service-v1beta2.ts | 244 +++++++------ ...ic-video_intelligence_service-v1p1beta1.ts | 244 +++++++------ ...ic-video_intelligence_service-v1p2beta1.ts | 244 +++++++------ ...ic-video_intelligence_service-v1p3beta1.ts | 244 +++++++------ 15 files changed, 1623 insertions(+), 1743 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 48b8adde745..0f0828ee4c9 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -17,14 +17,7 @@ // ** 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 {APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -41,9 +34,14 @@ export class VideoIntelligenceServiceClient { 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; - videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of VideoIntelligenceServiceClient. @@ -67,22 +65,17 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -92,33 +85,38 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 VideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + 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}`); @@ -127,74 +125,77 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._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 protoFilesRoot = opts.fallback? + this._gaxModule.protobuf.Root.fromJSON(require("../../protos/protos.json")) : + this._gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = this._gaxModule.lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + }).operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1.AnnotateVideoResponse' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1.AnnotateVideoResponse') as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1.AnnotateVideoProgress' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1.AnnotateVideoProgress') as gax.protobuf.Type; this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( + annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1.VideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1.VideoIntelligenceService', 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 = {}; + } + + /** + * 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.videoIntelligenceServiceStub) { + return this.videoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1.VideoIntelligenceService. - this.videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1.VideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1 - .VideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1.VideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1.VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = + ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const innerCallPromise = this.videoIntelligenceServiceStub.then( @@ -204,17 +205,16 @@ export class VideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -225,6 +225,8 @@ export class VideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.videoIntelligenceServiceStub; } /** @@ -254,7 +256,9 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -264,9 +268,8 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -279,113 +282,87 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options?: gax.CallOptions - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options?: gax.CallOptions): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): void; - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): void; +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - optionsOrCallback?: - | gax.CallOptions - | Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - >, - callback?: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - > | void { + request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + optionsOrCallback?: gax.CallOptions|Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, + callback?: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>|void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { + } + else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.annotateVideo(request, options, callback); } @@ -395,8 +372,9 @@ export class VideoIntelligenceServiceClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.videoIntelligenceServiceStub.then(stub => { + return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index f28cf0ae54b..0dd0d120aed 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -17,14 +17,7 @@ // ** 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 {APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -41,9 +34,14 @@ export class VideoIntelligenceServiceClient { 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; - videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of VideoIntelligenceServiceClient. @@ -67,22 +65,17 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -92,33 +85,38 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 VideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + 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}`); @@ -127,74 +125,77 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._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 protoFilesRoot = opts.fallback? + this._gaxModule.protobuf.Root.fromJSON(require("../../protos/protos.json")) : + this._gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = this._gaxModule.lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + }).operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse') as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress') as gax.protobuf.Type; this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( + annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', 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 = {}; + } + + /** + * 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.videoIntelligenceServiceStub) { + return this.videoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. - this.videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1beta2 - .VideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1beta2.VideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1beta2.VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = + ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const innerCallPromise = this.videoIntelligenceServiceStub.then( @@ -204,17 +205,16 @@ export class VideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -225,6 +225,8 @@ export class VideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.videoIntelligenceServiceStub; } /** @@ -254,7 +256,9 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -264,9 +268,8 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -279,113 +282,87 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options?: gax.CallOptions - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options?: gax.CallOptions): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): void; - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1beta2.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): void; +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1beta2.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - optionsOrCallback?: - | gax.CallOptions - | Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - >, - callback?: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - > | void { + request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + optionsOrCallback?: gax.CallOptions|Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, + callback?: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>|void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { + } + else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.annotateVideo(request, options, callback); } @@ -395,8 +372,9 @@ export class VideoIntelligenceServiceClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.videoIntelligenceServiceStub.then(stub => { + return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index cee76bc72cf..3919a44f701 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -17,14 +17,7 @@ // ** 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 {APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -41,9 +34,14 @@ export class VideoIntelligenceServiceClient { 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; - videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of VideoIntelligenceServiceClient. @@ -67,22 +65,17 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -92,33 +85,38 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 VideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + 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}`); @@ -127,74 +125,77 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._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 protoFilesRoot = opts.fallback? + this._gaxModule.protobuf.Root.fromJSON(require("../../protos/protos.json")) : + this._gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = this._gaxModule.lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + }).operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse') as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress') as gax.protobuf.Type; this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( + annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', 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 = {}; + } + + /** + * 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.videoIntelligenceServiceStub) { + return this.videoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService. - this.videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1p1beta1 - .VideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = + ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const innerCallPromise = this.videoIntelligenceServiceStub.then( @@ -204,17 +205,16 @@ export class VideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -225,6 +225,8 @@ export class VideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.videoIntelligenceServiceStub; } /** @@ -254,7 +256,9 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -264,9 +268,8 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -279,113 +282,87 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options?: gax.CallOptions - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options?: gax.CallOptions): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): void; - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): void; +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - optionsOrCallback?: - | gax.CallOptions - | Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - >, - callback?: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - > | void { + request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + optionsOrCallback?: gax.CallOptions|Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, + callback?: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>|void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { + } + else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.annotateVideo(request, options, callback); } @@ -395,8 +372,9 @@ export class VideoIntelligenceServiceClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.videoIntelligenceServiceStub.then(stub => { + return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index f0c9dce78b2..50619ff2f88 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -17,14 +17,7 @@ // ** 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 {APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -41,9 +34,14 @@ export class VideoIntelligenceServiceClient { 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; - videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of VideoIntelligenceServiceClient. @@ -67,22 +65,17 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -92,33 +85,38 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 VideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + 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}`); @@ -127,74 +125,77 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._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 protoFilesRoot = opts.fallback? + this._gaxModule.protobuf.Root.fromJSON(require("../../protos/protos.json")) : + this._gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = this._gaxModule.lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + }).operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse') as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress') as gax.protobuf.Type; this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( + annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', 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 = {}; + } + + /** + * 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.videoIntelligenceServiceStub) { + return this.videoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService. - this.videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1p2beta1 - .VideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = + ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const innerCallPromise = this.videoIntelligenceServiceStub.then( @@ -204,17 +205,16 @@ export class VideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -225,6 +225,8 @@ export class VideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.videoIntelligenceServiceStub; } /** @@ -254,7 +256,9 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -264,9 +268,8 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -279,113 +282,87 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options?: gax.CallOptions - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options?: gax.CallOptions): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): void; - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): void; +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - optionsOrCallback?: - | gax.CallOptions - | Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - >, - callback?: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - > | void { + request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + optionsOrCallback?: gax.CallOptions|Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, + callback?: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>|void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { + } + else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.annotateVideo(request, options, callback); } @@ -395,8 +372,9 @@ export class VideoIntelligenceServiceClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.videoIntelligenceServiceStub.then(stub => { + return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts index f24651ba907..829cb54cf4c 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts @@ -16,5 +16,4 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {StreamingVideoIntelligenceServiceClient} from './streaming_video_intelligence_service_client'; -export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; +export {StreamingVideoIntelligenceServiceClient} from './streaming_video_intelligence_service_client';export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 02017302bb7..96943223dee 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -17,13 +17,7 @@ // ** All changes to this file may be overwritten. ** import * as gax from 'google-gax'; -import { - APICallback, - Callback, - CallOptions, - Descriptors, - ClientOptions, -} from 'google-gax'; +import {APICallback, Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -40,8 +34,13 @@ export class StreamingVideoIntelligenceServiceClient { 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; - streamingVideoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + streamingVideoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of StreamingVideoIntelligenceServiceClient. @@ -65,22 +64,17 @@ export class StreamingVideoIntelligenceServiceClient { * 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 StreamingVideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof StreamingVideoIntelligenceServiceClient; + 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) { @@ -90,33 +84,38 @@ export class StreamingVideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 StreamingVideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof StreamingVideoIntelligenceServiceClient).scopes; + 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}`); @@ -125,56 +124,60 @@ export class StreamingVideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._gaxGrpc.loadProto( + opts.fallback ? + require("../../protos/protos.json") : + nodejsProtoPath ); // Some of the methods on this service provide streaming responses. // Provide descriptors for these. this._descriptors.stream = { - streamingAnnotateVideo: new gaxModule.StreamDescriptor( - gax.StreamType.BIDI_STREAMING - ), + streamingAnnotateVideo: new this._gaxModule.StreamDescriptor(gax.StreamType.BIDI_STREAMING) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', 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 = {}; + } + + /** + * 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.streamingVideoIntelligenceServiceStub) { + return this.streamingVideoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService. - this.streamingVideoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1p3beta1 - .StreamingVideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.streamingVideoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService, + this._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 streamingVideoIntelligenceServiceStubMethods = [ - 'streamingAnnotateVideo', - ]; + const streamingVideoIntelligenceServiceStubMethods = + ['streamingAnnotateVideo']; for (const methodName of streamingVideoIntelligenceServiceStubMethods) { const innerCallPromise = this.streamingVideoIntelligenceServiceStub.then( @@ -184,17 +187,16 @@ export class StreamingVideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -205,6 +207,8 @@ export class StreamingVideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.streamingVideoIntelligenceServiceStub; } /** @@ -234,7 +238,9 @@ export class StreamingVideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -244,9 +250,8 @@ export class StreamingVideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -258,30 +263,35 @@ export class StreamingVideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - /** - * Performs video annotation with bidirectional streaming: emitting results - * while sending video/audio bytes. - * This method is only available via the gRPC API (not REST). - * - * @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 is both readable and writable. It accepts objects - * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and - * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. - */ - streamingAnnotateVideo(options?: gax.CallOptions): gax.CancellableStream { +/** + * Performs video annotation with bidirectional streaming: emitting results + * while sending video/audio bytes. + * This method is only available via the gRPC API (not REST). + * + * @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 is both readable and writable. It accepts objects + * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and + * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. + */ + streamingAnnotateVideo( + options?: gax.CallOptions): + gax.CancellableStream { + this.initialize(); return this._innerApiCalls.streamingAnnotateVideo(options); } + /** * Terminate the GRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.streamingVideoIntelligenceServiceStub.then(stub => { + return this.streamingVideoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index afeef9058a9..279d9fa80dc 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -17,14 +17,7 @@ // ** 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 {APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation} from 'google-gax'; import * as path from 'path'; import * as protosTypes from '../../protos/protos'; @@ -41,9 +34,14 @@ export class VideoIntelligenceServiceClient { 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; - videoIntelligenceServiceStub: Promise<{[name: string]: Function}>; + videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of VideoIntelligenceServiceClient. @@ -67,22 +65,17 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; - const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; + const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -92,33 +85,38 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { + 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; + 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 VideoIntelligenceServiceClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + 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}`); @@ -127,74 +125,77 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json'); + this._protos = this._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 protoFilesRoot = opts.fallback? + this._gaxModule.protobuf.Root.fromJSON(require("../../protos/protos.json")) : + this._gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = this._gaxModule.lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + }).operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse') as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress' - ) as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress') as gax.protobuf.Type; this._descriptors.longrunning = { - annotateVideo: new gaxModule.LongrunningDescriptor( + annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata) - ), + annotateVideoMetadata.decode.bind(annotateVideoMetadata)) }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', - gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, - {'x-goog-api-client': clientHeader.join(' ')} - ); + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', 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 = {}; + } + + /** + * 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.videoIntelligenceServiceStub) { + return this.videoIntelligenceServiceStub; + } // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService. - this.videoIntelligenceServiceStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( - 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService' - ) - : // tslint:disable-next-line no-any - (protos as any).google.cloud.videointelligence.v1p3beta1 - .VideoIntelligenceService, - opts - ) as Promise<{[method: string]: Function}>; + this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService') : + // tslint:disable-next-line no-any + (this._protos as any).google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = ['annotateVideo']; + const videoIntelligenceServiceStubMethods = + ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const innerCallPromise = this.videoIntelligenceServiceStub.then( @@ -204,17 +205,16 @@ export class VideoIntelligenceServiceClient { } return stub[methodName].apply(stub, args); }, - (err: Error | null | undefined) => () => { + (err: Error|null|undefined) => () => { throw err; - } - ); + }); - 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] + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); this._innerApiCalls[methodName] = ( @@ -225,6 +225,8 @@ export class VideoIntelligenceServiceClient { return apiCall(argument, callOptions, callback); }; } + + return this.videoIntelligenceServiceStub; } /** @@ -254,7 +256,9 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return ['https://www.googleapis.com/auth/cloud-platform']; + return [ + 'https://www.googleapis.com/auth/cloud-platform' + ]; } getProjectId(): Promise; @@ -264,9 +268,8 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId( - callback?: Callback - ): Promise | void { + getProjectId(callback?: Callback): + Promise|void { if (callback) { this.auth.getProjectId(callback); return; @@ -279,113 +282,87 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options?: gax.CallOptions - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options?: gax.CallOptions): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): void; - /** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): void; +/** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - optionsOrCallback?: - | gax.CallOptions - | Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - >, - callback?: Callback< - LROperation< - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - > - ): Promise< - [ - LROperation< - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined - ] - > | void { + request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + optionsOrCallback?: gax.CallOptions|Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, + callback?: Callback< + LROperation, + protosTypes.google.longrunning.IOperation|undefined, + {}|undefined>): + Promise<[ + LROperation, + protosTypes.google.longrunning.IOperation|undefined, {}|undefined + ]>|void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { + } + else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.annotateVideo(request, options, callback); } @@ -395,8 +372,9 @@ export class VideoIntelligenceServiceClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.videoIntelligenceServiceStub.then(stub => { + return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index b8c94543e20..4adf647d80b 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,13 +1,13 @@ { - "updateTime": "2020-03-05T22:26:31.988229Z", + "updateTime": "2020-03-09T11:45:53.267362Z", "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\n" + "sha": "af7dff701fabe029672168649c62356cf1bb43d0", + "internalRef": "299724050", + "log": "af7dff701fabe029672168649c62356cf1bb43d0\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" } }, { diff --git a/packages/google-cloud-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index c9aa74ec221..140852a8528 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/system-test/install.ts @@ -16,36 +16,34 @@ // ** 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'; +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. + 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(), - }, + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } }; - await packNTest(options); // will throw upon error. + 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. + 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(), - }, + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } }; - await packNTest(options); // will throw upon error. + await packNTest(options); // will throw upon error. }); + }); diff --git a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts index c04259d5cbb..1d601228b01 100644 --- a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts @@ -18,140 +18,132 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const streamingvideointelligenceserviceModule = require('../src'); import {PassThrough} from 'stream'; + 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -function mockBidiStreamingGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return () => { - const mockStream = new PassThrough({ - objectMode: true, - transform: (chunk: {}, enc: {}, callback: Callback) => { - assert.deepStrictEqual(chunk, expectedRequest); - if (error) { - callback(error); - } else { - callback(null, response); - } - }, - }); - return mockStream; - }; +function mockBidiStreamingGrpcMethod(expectedRequest: {}, response: {} | null, error: FakeError | null) { + return () => { + const mockStream = new PassThrough({ + objectMode: true, + transform: (chunk: {}, enc: {}, callback: Callback) => { + assert.deepStrictEqual(chunk, expectedRequest); + if (error) { + callback(error); + } + else { + callback(null, response); + } + } + }); + return mockStream; + } } describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('streamingAnnotateVideo', () => { - it('invokes streamingAnnotateVideo without error', done => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( - request, - expectedResponse, - null - ); - const stream = client - .streamingAnnotateVideo() - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); + it('has servicePath', () => { + const servicePath = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + fallback: true, + }); + assert(client); + }); + it('has initialize method and supports deferred initialization', async () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', }); - stream.write(request); + assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.streamingVideoIntelligenceServiceStub); }); - it('invokes streamingAnnotateVideo with error', done => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod( - request, - null, - error - ); - const stream = client - .streamingAnnotateVideo() - .on('data', () => { - assert.fail(); - }) - .on('error', (err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); + it('has close method', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('streamingAnnotateVideo', () => { + it('invokes streamingAnnotateVideo without error', done => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod(request, expectedResponse, null); + const stream = client.streamingAnnotateVideo().on('data', (response: {}) =>{ + assert.deepStrictEqual(response, expectedResponse); + done(); + }).on('error', (err: FakeError) => { + done(err); + }); + stream.write(request); + }); + it('invokes streamingAnnotateVideo with error', done => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod(request, null, error); + const stream = client.streamingAnnotateVideo().on('data', () =>{ + assert.fail(); + }).on('error', (err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + stream.write(request); }); - stream.write(request); }); - }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts index f970f74f13a..a99b1701867 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts @@ -18,144 +18,143 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const videointelligenceserviceModule = 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -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]); +function mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { + 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]); }; - return Promise.resolve([mockOperation]); - }; } describe('v1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .annotateVideo(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('has servicePath', () => { + const servicePath = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + fallback: true, }); + assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + it('has close method', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .annotateVideo(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(); + it('invokes annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts index 136b93736db..ac78ed70a4d 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts @@ -18,145 +18,143 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const videointelligenceserviceModule = 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -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]); +function mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { + 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]); }; - return Promise.resolve([mockOperation]); - }; } describe('v1beta2.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .annotateVideo(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('has servicePath', () => { + const servicePath = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ + fallback: true, }); + assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + it('has close method', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .annotateVideo(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(); + it('invokes annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts index cb41aabab3b..e6b4abbde9f 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts @@ -18,145 +18,143 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const videointelligenceserviceModule = 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -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]); +function mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { + 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]); }; - return Promise.resolve([mockOperation]); - }; } describe('v1p1beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .annotateVideo(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('has servicePath', () => { + const servicePath = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ + fallback: true, }); + assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .annotateVideo(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(); + it('invokes annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts index 553893674da..2ab7dabc7fe 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts @@ -18,145 +18,143 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const videointelligenceserviceModule = 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -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]); +function mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { + 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]); }; - return Promise.resolve([mockOperation]); - }; } describe('v1p2beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .annotateVideo(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('has servicePath', () => { + const servicePath = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ + fallback: true, }); + assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .annotateVideo(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(); + it('invokes annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts index 9d4acfc7430..fa9c7fb5f5b 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts @@ -18,145 +18,143 @@ import * as protosTypes from '../protos/protos'; import * as assert from 'assert'; -import {describe, it} from 'mocha'; +import { describe, it } from 'mocha'; const videointelligenceserviceModule = 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; - } +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; + (err: FakeError|null, response?: {} | null): void; } -export class Operation { - constructor() {} - promise() {} +export class Operation{ + constructor(){}; + promise() {}; } -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]); +function mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { + 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]); }; - return Promise.resolve([mockOperation]); - }; } describe('v1p3beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .annotateVideo(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('has servicePath', () => { + const servicePath = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ + fallback: true, }); + assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.close(); + }); + describe('annotateVideo', () => { + it('invokes annotateVideo without error', done => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .annotateVideo(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(); + it('invokes annotateVideo with error', done => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Initialize client before mocking + client.initialize(); + // Mock request + const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( + request, + null, + error + ); + client.annotateVideo(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(); + }); }); }); - }); }); From ef4dfc949ba341804c15910ce909ce2026d10c7b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2020 23:36:06 +0000 Subject: [PATCH 265/418] chore: release 2.9.0 (#391) :robot: I have created a release \*beep\* \*boop\* --- ## [2.9.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.8.0...v2.9.0) (2020-03-11) ### Features * deferred client initialization ([#389](https://www.github.com/googleapis/nodejs-video-intelligence/issues/389)) ([fdbb623](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fdbb62308f628dabf84f0a3cd7728bbe0f26a0fd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index c6fc904b1a2..70c2018a8bf 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.9.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.8.0...v2.9.0) (2020-03-11) + + +### Features + +* deferred client initialization ([#389](https://www.github.com/googleapis/nodejs-video-intelligence/issues/389)) ([fdbb623](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fdbb62308f628dabf84f0a3cd7728bbe0f26a0fd)) + ## [2.8.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.7.0...v2.8.0) (2020-03-09) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index d149205c22b..c20ec09cfe4 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.8.0", + "version": "2.9.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 9416cd61eae..7ebe81f40af 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.8.0", + "@google-cloud/video-intelligence": "^2.9.0", "yargs": "^15.0.0" }, "devDependencies": { From 0c175b16c71e2b68e37d01f10e8f395f5bfdb16b Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Tue, 17 Mar 2020 12:22:45 -0700 Subject: [PATCH 266/418] chore: enable context-aware commits (#399) --- packages/google-cloud-videointelligence/synth.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index fe5f04950e2..c8a0e1988ab 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -5,6 +5,8 @@ logging.basicConfig(level=logging.DEBUG) +AUTOSYNTH_MULTIPLE_COMMITS = True + gapic = gcp.GAPICMicrogenerator() common_templates = gcp.CommonTemplates() From 6bb7a871452ee9479faa2cfdc35d27f56541b37c Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 18 Mar 2020 13:08:28 -0700 Subject: [PATCH 267/418] docs: mention templates in contributing section of README (#401) --- packages/google-cloud-videointelligence/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index a41c133f6f4..25093297368 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -134,6 +134,8 @@ has instructions for running the samples. | Analyze_face_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) | | Analyze_person_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection.js,samples/README.md) | | Analyze_person_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection_gcs.js,samples/README.md) | +| Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | +| Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | @@ -164,6 +166,12 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/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 3613bc133edb0ef89a741f501c580e32ee7cb800 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 18 Mar 2020 16:38:43 -0700 Subject: [PATCH 268/418] feat: expose logo recognition API proto for GA (#402) --- .../v1/video_intelligence.proto | 85 +- .../protos/protos.d.ts | 531 ++++- .../protos/protos.js | 1833 +++++++++++++++-- .../protos/protos.json | 114 +- .../samples/README.md | 36 + .../synth.metadata | 16 +- 6 files changed, 2394 insertions(+), 221 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index ee7d618fbc2..9dcfda55edd 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.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"; @@ -148,6 +147,9 @@ enum Feature { // Object detection and tracking. OBJECT_TRACKING = 9; + + // Logo detection, tracking, and recognition. + LOGO_RECOGNITION = 12; } // Label detection mode. @@ -397,6 +399,67 @@ message FaceAnnotation { repeated FaceFrame frames = 3; } +// For tracking related features. +// An object at time_offset with attributes, and located with +// normalized_bounding_box. +message TimestampedObject { + // Normalized Bounding box in a frame, where the object is located. + NormalizedBoundingBox normalized_bounding_box = 1; + + // Time-offset, relative to the beginning of the video, + // corresponding to the video frame for this object. + google.protobuf.Duration time_offset = 2; + + // Optional. The attributes of the object in the bounding box. + repeated DetectedAttribute attributes = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The detected landmarks. + repeated DetectedLandmark landmarks = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A track of an object instance. +message Track { + // Video segment of a track. + VideoSegment segment = 1; + + // The object with timestamp and attributes per frame in the track. + repeated TimestampedObject timestamped_objects = 2; + + // Optional. Attributes in the track level. + repeated DetectedAttribute attributes = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The confidence score of the tracked object. + float confidence = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// A generic detected attribute represented by name in string format. +message DetectedAttribute { + // The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + // A full list of supported type names will be provided in the document. + string name = 1; + + // Detected attribute confidence. Range [0, 1]. + float confidence = 2; + + // Text value of the detection result. For example, the value for "HairColor" + // can be "black", "blonde", etc. + string value = 3; +} + +// A generic detected landmark represented by name in string format and a 2D +// location. +message DetectedLandmark { + // The name of this landmark, i.e. left_hand, right_shoulder. + string name = 1; + + // The 2D point of the detected landmark using the normalized image + // coordindate system. The normalized coordinates have the range from 0 to 1. + NormalizedVertex point = 2; + + // The confidence score of the detected landmark. Range [0, 1]. + float confidence = 3; +} + // Annotation results for a single video. message VideoAnnotationResults { // Video file location in @@ -453,6 +516,9 @@ message VideoAnnotationResults { // Annotations for list of objects detected and tracked in video. repeated ObjectTrackingAnnotation object_annotations = 14; + // Annotations for list of logos detected, tracked and recognized in video. + repeated LogoRecognitionAnnotation logo_recognition_annotations = 19; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -743,3 +809,18 @@ message ObjectTrackingAnnotation { // Streaming mode: it can only be one ObjectTrackingFrame message in frames. repeated ObjectTrackingFrame frames = 2; } + +// Annotation corresponding to one detected, tracked and recognized logo class. +message LogoRecognitionAnnotation { + // Entity category information to specify the logo class that all the logo + // tracks within this LogoRecognitionAnnotation are recognized as. + Entity entity = 1; + + // All logo tracks where the recognized logo appears. Each track corresponds + // to one logo instance appearing in consecutive frames. + repeated Track tracks = 2; + + // All video segments where the recognized logo appears. There might be + // multiple instances of the same logo class appearing in one VideoSegment. + repeated VideoSegment segments = 3; +} diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 7be3137049e..202e9a8d51a 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -332,7 +332,8 @@ export namespace google { FACE_DETECTION = 4, SPEECH_TRANSCRIPTION = 6, TEXT_DETECTION = 7, - OBJECT_TRACKING = 9 + OBJECT_TRACKING = 9, + LOGO_RECOGNITION = 12 } /** LabelDetectionMode enum. */ @@ -2009,6 +2010,426 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TimestampedObject. */ + interface ITimestampedObject { + + /** TimestampedObject normalizedBoundingBox */ + normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); + + /** TimestampedObject timeOffset */ + timeOffset?: (google.protobuf.IDuration|null); + + /** TimestampedObject attributes */ + attributes?: (google.cloud.videointelligence.v1.IDetectedAttribute[]|null); + + /** TimestampedObject landmarks */ + landmarks?: (google.cloud.videointelligence.v1.IDetectedLandmark[]|null); + } + + /** Represents a TimestampedObject. */ + class TimestampedObject implements ITimestampedObject { + + /** + * Constructs a new TimestampedObject. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITimestampedObject); + + /** TimestampedObject normalizedBoundingBox. */ + public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null); + + /** TimestampedObject timeOffset. */ + public timeOffset?: (google.protobuf.IDuration|null); + + /** TimestampedObject attributes. */ + public attributes: google.cloud.videointelligence.v1.IDetectedAttribute[]; + + /** TimestampedObject landmarks. */ + public landmarks: google.cloud.videointelligence.v1.IDetectedLandmark[]; + + /** + * Creates a new TimestampedObject instance using the specified properties. + * @param [properties] Properties to set + * @returns TimestampedObject instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITimestampedObject): google.cloud.videointelligence.v1.TimestampedObject; + + /** + * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages. + * @param message TimestampedObject message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages. + * @param message TimestampedObject message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TimestampedObject; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TimestampedObject; + + /** + * Verifies a TimestampedObject message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TimestampedObject + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TimestampedObject; + + /** + * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. + * @param message TimestampedObject + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.TimestampedObject, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TimestampedObject to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Track. */ + interface ITrack { + + /** Track segment */ + segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** Track timestampedObjects */ + timestampedObjects?: (google.cloud.videointelligence.v1.ITimestampedObject[]|null); + + /** Track attributes */ + attributes?: (google.cloud.videointelligence.v1.IDetectedAttribute[]|null); + + /** Track confidence */ + confidence?: (number|null); + } + + /** Represents a Track. */ + class Track implements ITrack { + + /** + * Constructs a new Track. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ITrack); + + /** Track segment. */ + public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); + + /** Track timestampedObjects. */ + public timestampedObjects: google.cloud.videointelligence.v1.ITimestampedObject[]; + + /** Track attributes. */ + public attributes: google.cloud.videointelligence.v1.IDetectedAttribute[]; + + /** Track confidence. */ + public confidence: number; + + /** + * Creates a new Track instance using the specified properties. + * @param [properties] Properties to set + * @returns Track instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ITrack): google.cloud.videointelligence.v1.Track; + + /** + * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages. + * @param message Track message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages. + * @param message Track message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Track message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.Track; + + /** + * Decodes a Track message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.Track; + + /** + * Verifies a Track message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Track message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Track + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.Track; + + /** + * Creates a plain object from a Track message. Also converts values to other types if specified. + * @param message Track + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.Track, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Track to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedAttribute. */ + interface IDetectedAttribute { + + /** DetectedAttribute name */ + name?: (string|null); + + /** DetectedAttribute confidence */ + confidence?: (number|null); + + /** DetectedAttribute value */ + value?: (string|null); + } + + /** Represents a DetectedAttribute. */ + class DetectedAttribute implements IDetectedAttribute { + + /** + * Constructs a new DetectedAttribute. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IDetectedAttribute); + + /** DetectedAttribute name. */ + public name: string; + + /** DetectedAttribute confidence. */ + public confidence: number; + + /** DetectedAttribute value. */ + public value: string; + + /** + * Creates a new DetectedAttribute instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedAttribute instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IDetectedAttribute): google.cloud.videointelligence.v1.DetectedAttribute; + + /** + * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages. + * @param message DetectedAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages. + * @param message DetectedAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.DetectedAttribute; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.DetectedAttribute; + + /** + * Verifies a DetectedAttribute message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedAttribute + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.DetectedAttribute; + + /** + * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. + * @param message DetectedAttribute + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.DetectedAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedAttribute to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedLandmark. */ + interface IDetectedLandmark { + + /** DetectedLandmark name */ + name?: (string|null); + + /** DetectedLandmark point */ + point?: (google.cloud.videointelligence.v1.INormalizedVertex|null); + + /** DetectedLandmark confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLandmark. */ + class DetectedLandmark implements IDetectedLandmark { + + /** + * Constructs a new DetectedLandmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IDetectedLandmark); + + /** DetectedLandmark name. */ + public name: string; + + /** DetectedLandmark point. */ + public point?: (google.cloud.videointelligence.v1.INormalizedVertex|null); + + /** DetectedLandmark confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLandmark instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLandmark instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IDetectedLandmark): google.cloud.videointelligence.v1.DetectedLandmark; + + /** + * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages. + * @param message DetectedLandmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages. + * @param message DetectedLandmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.DetectedLandmark; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.DetectedLandmark; + + /** + * Verifies a DetectedLandmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLandmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.DetectedLandmark; + + /** + * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified. + * @param message DetectedLandmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.DetectedLandmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLandmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a VideoAnnotationResults. */ interface IVideoAnnotationResults { @@ -2051,6 +2472,9 @@ export namespace google { /** VideoAnnotationResults objectAnnotations */ objectAnnotations?: (google.cloud.videointelligence.v1.IObjectTrackingAnnotation[]|null); + /** VideoAnnotationResults logoRecognitionAnnotations */ + logoRecognitionAnnotations?: (google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[]|null); + /** VideoAnnotationResults error */ error?: (google.rpc.IStatus|null); } @@ -2103,6 +2527,9 @@ export namespace google { /** VideoAnnotationResults objectAnnotations. */ public objectAnnotations: google.cloud.videointelligence.v1.IObjectTrackingAnnotation[]; + /** VideoAnnotationResults logoRecognitionAnnotations. */ + public logoRecognitionAnnotations: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[]; + /** VideoAnnotationResults error. */ public error?: (google.rpc.IStatus|null); @@ -3709,6 +4136,108 @@ export namespace google { */ public toJSON(): { [k: string]: any }; } + + /** Properties of a LogoRecognitionAnnotation. */ + interface ILogoRecognitionAnnotation { + + /** LogoRecognitionAnnotation entity */ + entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** LogoRecognitionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1.ITrack[]|null); + + /** LogoRecognitionAnnotation segments */ + segments?: (google.cloud.videointelligence.v1.IVideoSegment[]|null); + } + + /** Represents a LogoRecognitionAnnotation. */ + class LogoRecognitionAnnotation implements ILogoRecognitionAnnotation { + + /** + * Constructs a new LogoRecognitionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation); + + /** LogoRecognitionAnnotation entity. */ + public entity?: (google.cloud.videointelligence.v1.IEntity|null); + + /** LogoRecognitionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1.ITrack[]; + + /** LogoRecognitionAnnotation segments. */ + public segments: google.cloud.videointelligence.v1.IVideoSegment[]; + + /** + * Creates a new LogoRecognitionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LogoRecognitionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation): google.cloud.videointelligence.v1.LogoRecognitionAnnotation; + + /** + * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages. + * @param message LogoRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages. + * @param message LogoRecognitionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LogoRecognitionAnnotation; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LogoRecognitionAnnotation; + + /** + * Verifies a LogoRecognitionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LogoRecognitionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LogoRecognitionAnnotation; + + /** + * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified. + * @param message LogoRecognitionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.LogoRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LogoRecognitionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } } /** Namespace v1beta2. */ diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 64e727108e2..57fe563d5a2 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -367,6 +367,7 @@ case 6: case 7: case 9: + case 12: break; } } @@ -442,6 +443,10 @@ case 9: message.features[i] = 9; break; + case "LOGO_RECOGNITION": + case 12: + message.features[i] = 12; + break; } } if (object.videoContext != null) { @@ -927,6 +932,7 @@ * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value */ v1.Feature = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -938,6 +944,7 @@ values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; values[valuesById[7] = "TEXT_DETECTION"] = 7; values[valuesById[9] = "OBJECT_TRACKING"] = 9; + values[valuesById[12] = "LOGO_RECOGNITION"] = 12; return values; })(); @@ -4904,47 +4911,29 @@ return FaceAnnotation; })(); - v1.VideoAnnotationResults = (function() { + v1.TimestampedObject = (function() { /** - * Properties of a VideoAnnotationResults. + * Properties of a TimestampedObject. * @memberof google.cloud.videointelligence.v1 - * @interface IVideoAnnotationResults - * @property {string|null} [inputUri] VideoAnnotationResults inputUri - * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationResults segment - * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations - * @property {Array.|null} [segmentPresenceLabelAnnotations] VideoAnnotationResults segmentPresenceLabelAnnotations - * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations - * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations - * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations - * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations - * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations - * @property {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation - * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions - * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations - * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations - * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + * @interface ITimestampedObject + * @property {google.cloud.videointelligence.v1.INormalizedBoundingBox|null} [normalizedBoundingBox] TimestampedObject normalizedBoundingBox + * @property {google.protobuf.IDuration|null} [timeOffset] TimestampedObject timeOffset + * @property {Array.|null} [attributes] TimestampedObject attributes + * @property {Array.|null} [landmarks] TimestampedObject landmarks */ /** - * Constructs a new VideoAnnotationResults. + * Constructs a new TimestampedObject. * @memberof google.cloud.videointelligence.v1 - * @classdesc Represents a VideoAnnotationResults. - * @implements IVideoAnnotationResults + * @classdesc Represents a TimestampedObject. + * @implements ITimestampedObject * @constructor - * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1.ITimestampedObject=} [properties] Properties to set */ - function VideoAnnotationResults(properties) { - this.segmentLabelAnnotations = []; - this.segmentPresenceLabelAnnotations = []; - this.shotLabelAnnotations = []; - this.shotPresenceLabelAnnotations = []; - this.frameLabelAnnotations = []; - this.faceAnnotations = []; - this.shotAnnotations = []; - this.speechTranscriptions = []; - this.textAnnotations = []; - this.objectAnnotations = []; + function TimestampedObject(properties) { + this.attributes = []; + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4952,245 +4941,1356 @@ } /** - * VideoAnnotationResults inputUri. - * @member {string} inputUri - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.inputUri = ""; - - /** - * VideoAnnotationResults segment. - * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.segment = null; - - /** - * VideoAnnotationResults segmentLabelAnnotations. - * @member {Array.} segmentLabelAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults segmentPresenceLabelAnnotations. - * @member {Array.} segmentPresenceLabelAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.segmentPresenceLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotLabelAnnotations. - * @member {Array.} shotLabelAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotPresenceLabelAnnotations. - * @member {Array.} shotPresenceLabelAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotPresenceLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults frameLabelAnnotations. - * @member {Array.} frameLabelAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults shotAnnotations. - * @member {Array.} shotAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; - - /** - * VideoAnnotationResults explicitAnnotation. - * @member {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null|undefined} explicitAnnotation - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults - * @instance - */ - VideoAnnotationResults.prototype.explicitAnnotation = null; - - /** - * VideoAnnotationResults speechTranscriptions. - * @member {Array.} speechTranscriptions - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * TimestampedObject normalizedBoundingBox. + * @member {google.cloud.videointelligence.v1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @instance */ - VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + TimestampedObject.prototype.normalizedBoundingBox = null; /** - * VideoAnnotationResults textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * TimestampedObject timeOffset. + * @member {google.protobuf.IDuration|null|undefined} timeOffset + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @instance */ - VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + TimestampedObject.prototype.timeOffset = null; /** - * VideoAnnotationResults objectAnnotations. - * @member {Array.} objectAnnotations - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * TimestampedObject attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @instance */ - VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + TimestampedObject.prototype.attributes = $util.emptyArray; /** - * VideoAnnotationResults error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * TimestampedObject landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @instance */ - VideoAnnotationResults.prototype.error = null; + TimestampedObject.prototype.landmarks = $util.emptyArray; /** - * Creates a new VideoAnnotationResults instance using the specified properties. + * Creates a new TimestampedObject instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults instance + * @param {google.cloud.videointelligence.v1.ITimestampedObject=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject instance */ - VideoAnnotationResults.create = function create(properties) { - return new VideoAnnotationResults(properties); + TimestampedObject.create = function create(properties) { + return new TimestampedObject(properties); }; /** - * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1.ITimestampedObject} message TimestampedObject message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoAnnotationResults.encode = function encode(message, writer) { + TimestampedObject.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) - for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) - for (var i = 0; i < message.shotLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) - for (var i = 0; i < message.frameLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.frameLabelAnnotations[i], 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.videointelligence.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.shotAnnotations != null && message.shotAnnotations.length) - for (var i = 0; i < message.shotAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) - $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) - $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - if (message.speechTranscriptions != null && message.speechTranscriptions.length) - for (var i = 0; i < message.speechTranscriptions.length; ++i) - $root.google.cloud.videointelligence.v1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.objectAnnotations != null && message.objectAnnotations.length) - for (var i = 0; i < message.objectAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) - for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); - if (message.shotPresenceLabelAnnotations != null && message.shotPresenceLabelAnnotations.length) - for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotPresenceLabelAnnotations[i], writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.videointelligence.v1.DetectedLandmark.encode(message.landmarks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @static - * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1.ITimestampedObject} message TimestampedObject message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + TimestampedObject.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * Decodes a TimestampedObject message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @memberof google.cloud.videointelligence.v1.TimestampedObject * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults + * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoAnnotationResults.decode = function decode(reader, length) { + TimestampedObject.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoAnnotationResults(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.TimestampedObject(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputUri = reader.string(); - break; - case 10: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); break; case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 23: - if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) - message.segmentPresenceLabelAnnotations = []; - message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); break; case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 24: - if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) - message.shotPresenceLabelAnnotations = []; - message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); break; case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.videointelligence.v1.DetectedLandmark.decode(reader, reader.uint32())); break; - case 5: + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TimestampedObject message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimestampedObject.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TimestampedObject message. + * @function verify + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimestampedObject.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) { + var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBox); + if (error) + return "normalizedBoundingBox." + error; + } + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) { + var error = $root.google.protobuf.Duration.verify(message.timeOffset); + if (error) + return "timeOffset." + error; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + 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.videointelligence.v1.DetectedLandmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + return null; + }; + + /** + * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject + */ + TimestampedObject.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.TimestampedObject) + return object; + var message = new $root.google.cloud.videointelligence.v1.TimestampedObject(); + if (object.normalizedBoundingBox != null) { + if (typeof object.normalizedBoundingBox !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.normalizedBoundingBox: object expected"); + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox); + } + if (object.timeOffset != null) { + if (typeof object.timeOffset !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.timeOffset: object expected"); + message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.videointelligence.v1.DetectedLandmark.fromObject(object.landmarks[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @static + * @param {google.cloud.videointelligence.v1.TimestampedObject} message TimestampedObject + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TimestampedObject.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.attributes = []; + object.landmarks = []; + } + if (options.defaults) { + object.normalizedBoundingBox = null; + object.timeOffset = null; + } + if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options); + if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1.DetectedAttribute.toObject(message.attributes[j], options); + } + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.videointelligence.v1.DetectedLandmark.toObject(message.landmarks[j], options); + } + return object; + }; + + /** + * Converts this TimestampedObject to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @instance + * @returns {Object.} JSON object + */ + TimestampedObject.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TimestampedObject; + })(); + + v1.Track = (function() { + + /** + * Properties of a Track. + * @memberof google.cloud.videointelligence.v1 + * @interface ITrack + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] Track segment + * @property {Array.|null} [timestampedObjects] Track timestampedObjects + * @property {Array.|null} [attributes] Track attributes + * @property {number|null} [confidence] Track confidence + */ + + /** + * Constructs a new Track. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a Track. + * @implements ITrack + * @constructor + * @param {google.cloud.videointelligence.v1.ITrack=} [properties] Properties to set + */ + function Track(properties) { + this.timestampedObjects = []; + this.attributes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Track segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.Track + * @instance + */ + Track.prototype.segment = null; + + /** + * Track timestampedObjects. + * @member {Array.} timestampedObjects + * @memberof google.cloud.videointelligence.v1.Track + * @instance + */ + Track.prototype.timestampedObjects = $util.emptyArray; + + /** + * Track attributes. + * @member {Array.} attributes + * @memberof google.cloud.videointelligence.v1.Track + * @instance + */ + Track.prototype.attributes = $util.emptyArray; + + /** + * Track confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.Track + * @instance + */ + Track.prototype.confidence = 0; + + /** + * Creates a new Track instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {google.cloud.videointelligence.v1.ITrack=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.Track} Track instance + */ + Track.create = function create(properties) { + return new Track(properties); + }; + + /** + * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {google.cloud.videointelligence.v1.ITrack} message Track message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Track.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timestampedObjects != null && message.timestampedObjects.length) + for (var i = 0; i < message.timestampedObjects.length; ++i) + $root.google.cloud.videointelligence.v1.TimestampedObject.encode(message.timestampedObjects[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.google.cloud.videointelligence.v1.DetectedAttribute.encode(message.attributes[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 Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {google.cloud.videointelligence.v1.ITrack} message Track message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Track.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Track message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.Track} Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Track.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.Track(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.timestampedObjects && message.timestampedObjects.length)) + message.timestampedObjects = []; + message.timestampedObjects.push($root.google.cloud.videointelligence.v1.TimestampedObject.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Track message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.Track} Track + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Track.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Track message. + * @function verify + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Track.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.segment != null && message.hasOwnProperty("segment")) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + if (message.timestampedObjects != null && message.hasOwnProperty("timestampedObjects")) { + if (!Array.isArray(message.timestampedObjects)) + return "timestampedObjects: array expected"; + for (var i = 0; i < message.timestampedObjects.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.TimestampedObject.verify(message.timestampedObjects[i]); + if (error) + return "timestampedObjects." + error; + } + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.DetectedAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Track message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.Track} Track + */ + Track.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.Track) + return object; + var message = new $root.google.cloud.videointelligence.v1.Track(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1.Track.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment); + } + if (object.timestampedObjects) { + if (!Array.isArray(object.timestampedObjects)) + throw TypeError(".google.cloud.videointelligence.v1.Track.timestampedObjects: array expected"); + message.timestampedObjects = []; + for (var i = 0; i < object.timestampedObjects.length; ++i) { + if (typeof object.timestampedObjects[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.Track.timestampedObjects: object expected"); + message.timestampedObjects[i] = $root.google.cloud.videointelligence.v1.TimestampedObject.fromObject(object.timestampedObjects[i]); + } + } + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".google.cloud.videointelligence.v1.Track.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.Track.attributes: object expected"); + message.attributes[i] = $root.google.cloud.videointelligence.v1.DetectedAttribute.fromObject(object.attributes[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Track message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {google.cloud.videointelligence.v1.Track} message Track + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Track.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.timestampedObjects = []; + object.attributes = []; + } + if (options.defaults) { + object.segment = null; + object.confidence = 0; + } + if (message.segment != null && message.hasOwnProperty("segment")) + object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); + if (message.timestampedObjects && message.timestampedObjects.length) { + object.timestampedObjects = []; + for (var j = 0; j < message.timestampedObjects.length; ++j) + object.timestampedObjects[j] = $root.google.cloud.videointelligence.v1.TimestampedObject.toObject(message.timestampedObjects[j], options); + } + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.google.cloud.videointelligence.v1.DetectedAttribute.toObject(message.attributes[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 Track to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.Track + * @instance + * @returns {Object.} JSON object + */ + Track.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Track; + })(); + + v1.DetectedAttribute = (function() { + + /** + * Properties of a DetectedAttribute. + * @memberof google.cloud.videointelligence.v1 + * @interface IDetectedAttribute + * @property {string|null} [name] DetectedAttribute name + * @property {number|null} [confidence] DetectedAttribute confidence + * @property {string|null} [value] DetectedAttribute value + */ + + /** + * Constructs a new DetectedAttribute. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a DetectedAttribute. + * @implements IDetectedAttribute + * @constructor + * @param {google.cloud.videointelligence.v1.IDetectedAttribute=} [properties] Properties to set + */ + function DetectedAttribute(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DetectedAttribute name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.name = ""; + + /** + * DetectedAttribute confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.confidence = 0; + + /** + * DetectedAttribute value. + * @member {string} value + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @instance + */ + DetectedAttribute.prototype.value = ""; + + /** + * Creates a new DetectedAttribute instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1.IDetectedAttribute=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute instance + */ + DetectedAttribute.create = function create(properties) { + return new DetectedAttribute(properties); + }; + + /** + * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedAttribute.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.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); + return writer; + }; + + /** + * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1.IDetectedAttribute} message DetectedAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedAttribute.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedAttribute.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.DetectedAttribute(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedAttribute.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedAttribute message. + * @function verify + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedAttribute.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.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute + */ + DetectedAttribute.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.DetectedAttribute) + return object; + var message = new $root.google.cloud.videointelligence.v1.DetectedAttribute(); + if (object.name != null) + message.name = String(object.name); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {google.cloud.videointelligence.v1.DetectedAttribute} message DetectedAttribute + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedAttribute.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.confidence = 0; + object.value = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this DetectedAttribute to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @instance + * @returns {Object.} JSON object + */ + DetectedAttribute.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedAttribute; + })(); + + v1.DetectedLandmark = (function() { + + /** + * Properties of a DetectedLandmark. + * @memberof google.cloud.videointelligence.v1 + * @interface IDetectedLandmark + * @property {string|null} [name] DetectedLandmark name + * @property {google.cloud.videointelligence.v1.INormalizedVertex|null} [point] DetectedLandmark point + * @property {number|null} [confidence] DetectedLandmark confidence + */ + + /** + * Constructs a new DetectedLandmark. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a DetectedLandmark. + * @implements IDetectedLandmark + * @constructor + * @param {google.cloud.videointelligence.v1.IDetectedLandmark=} [properties] Properties to set + */ + function DetectedLandmark(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DetectedLandmark name. + * @member {string} name + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.name = ""; + + /** + * DetectedLandmark point. + * @member {google.cloud.videointelligence.v1.INormalizedVertex|null|undefined} point + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.point = null; + + /** + * DetectedLandmark confidence. + * @member {number} confidence + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @instance + */ + DetectedLandmark.prototype.confidence = 0; + + /** + * Creates a new DetectedLandmark instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1.IDetectedLandmark=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark instance + */ + DetectedLandmark.create = function create(properties) { + return new DetectedLandmark(properties); + }; + + /** + * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1.IDetectedLandmark} message DetectedLandmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLandmark.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.point != null && message.hasOwnProperty("point")) + $root.google.cloud.videointelligence.v1.NormalizedVertex.encode(message.point, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1.IDetectedLandmark} message DetectedLandmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLandmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLandmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.DetectedLandmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32()); + break; + case 3: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLandmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLandmark message. + * @function verify + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLandmark.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.point != null && message.hasOwnProperty("point")) { + var error = $root.google.cloud.videointelligence.v1.NormalizedVertex.verify(message.point); + if (error) + return "point." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark + */ + DetectedLandmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.DetectedLandmark) + return object; + var message = new $root.google.cloud.videointelligence.v1.DetectedLandmark(); + if (object.name != null) + message.name = String(object.name); + if (object.point != null) { + if (typeof object.point !== "object") + throw TypeError(".google.cloud.videointelligence.v1.DetectedLandmark.point: object expected"); + message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.fromObject(object.point); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {google.cloud.videointelligence.v1.DetectedLandmark} message DetectedLandmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLandmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.point = null; + object.confidence = 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.point != null && message.hasOwnProperty("point")) + object.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.toObject(message.point, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLandmark to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @instance + * @returns {Object.} JSON object + */ + DetectedLandmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLandmark; + })(); + + v1.VideoAnnotationResults = (function() { + + /** + * Properties of a VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1 + * @interface IVideoAnnotationResults + * @property {string|null} [inputUri] VideoAnnotationResults inputUri + * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationResults segment + * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations + * @property {Array.|null} [segmentPresenceLabelAnnotations] VideoAnnotationResults segmentPresenceLabelAnnotations + * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations + * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations + * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations + * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations + * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations + * @property {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation + * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions + * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations + * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations + * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations + * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error + */ + + /** + * Constructs a new VideoAnnotationResults. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a VideoAnnotationResults. + * @implements IVideoAnnotationResults + * @constructor + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set + */ + function VideoAnnotationResults(properties) { + this.segmentLabelAnnotations = []; + this.segmentPresenceLabelAnnotations = []; + this.shotLabelAnnotations = []; + this.shotPresenceLabelAnnotations = []; + this.frameLabelAnnotations = []; + this.faceAnnotations = []; + this.shotAnnotations = []; + this.speechTranscriptions = []; + this.textAnnotations = []; + this.objectAnnotations = []; + this.logoRecognitionAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VideoAnnotationResults inputUri. + * @member {string} inputUri + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.inputUri = ""; + + /** + * VideoAnnotationResults segment. + * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segment = null; + + /** + * VideoAnnotationResults segmentLabelAnnotations. + * @member {Array.} segmentLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults segmentPresenceLabelAnnotations. + * @member {Array.} segmentPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.segmentPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotLabelAnnotations. + * @member {Array.} shotLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotPresenceLabelAnnotations. + * @member {Array.} shotPresenceLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotPresenceLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults frameLabelAnnotations. + * @member {Array.} frameLabelAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * VideoAnnotationResults speechTranscriptions. + * @member {Array.} speechTranscriptions + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray; + + /** + * VideoAnnotationResults textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults logoRecognitionAnnotations. + * @member {Array.} logoRecognitionAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + + /** + * VideoAnnotationResults error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.error = null; + + /** + * Creates a new VideoAnnotationResults instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults instance + */ + VideoAnnotationResults.create = function create(properties) { + return new VideoAnnotationResults(properties); + }; + + /** + * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputUri != null && message.hasOwnProperty("inputUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); + if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) + for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length) + for (var i = 0; i < message.shotLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length) + for (var i = 0; i < message.frameLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.frameLabelAnnotations[i], 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.videointelligence.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.speechTranscriptions != null && message.speechTranscriptions.length) + for (var i = 0; i < message.speechTranscriptions.length; ++i) + $root.google.cloud.videointelligence.v1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) + for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) + for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.shotPresenceLabelAnnotations != null && message.shotPresenceLabelAnnotations.length) + for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotPresenceLabelAnnotations[i], writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VideoAnnotationResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VideoAnnotationResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.VideoAnnotationResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputUri = reader.string(); + break; + case 10: + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 23: + if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) + message.segmentPresenceLabelAnnotations = []; + message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 24: + if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) + message.shotPresenceLabelAnnotations = []; + message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 5: if (!(message.faceAnnotations && message.faceAnnotations.length)) message.faceAnnotations = []; message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32())); @@ -5218,6 +6318,11 @@ message.objectAnnotations = []; message.objectAnnotations.push($root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); break; + case 19: + if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) + message.logoRecognitionAnnotations = []; + message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); + break; case 9: message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; @@ -5359,6 +6464,15 @@ return "objectAnnotations." + error; } } + if (message.logoRecognitionAnnotations != null && message.hasOwnProperty("logoRecognitionAnnotations")) { + if (!Array.isArray(message.logoRecognitionAnnotations)) + return "logoRecognitionAnnotations: array expected"; + for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify(message.logoRecognitionAnnotations[i]); + if (error) + return "logoRecognitionAnnotations." + error; + } + } if (message.error != null && message.hasOwnProperty("error")) { var error = $root.google.rpc.Status.verify(message.error); if (error) @@ -5491,6 +6605,16 @@ message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); } } + if (object.logoRecognitionAnnotations) { + if (!Array.isArray(object.logoRecognitionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.logoRecognitionAnnotations: array expected"); + message.logoRecognitionAnnotations = []; + for (var i = 0; i < object.logoRecognitionAnnotations.length; ++i) { + if (typeof object.logoRecognitionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.logoRecognitionAnnotations: object expected"); + message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]); + } + } if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.error: object expected"); @@ -5521,6 +6645,7 @@ object.speechTranscriptions = []; object.textAnnotations = []; object.objectAnnotations = []; + object.logoRecognitionAnnotations = []; object.segmentPresenceLabelAnnotations = []; object.shotPresenceLabelAnnotations = []; } @@ -5578,6 +6703,11 @@ for (var j = 0; j < message.objectAnnotations.length; ++j) object.objectAnnotations[j] = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); } + if (message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length) { + object.logoRecognitionAnnotations = []; + for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j) + object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options); + } if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) { object.segmentPresenceLabelAnnotations = []; for (var j = 0; j < message.segmentPresenceLabelAnnotations.length; ++j) @@ -6041,6 +7171,7 @@ case 6: case 7: case 9: + case 12: break; } if (message.segment != null && message.hasOwnProperty("segment")) { @@ -6110,6 +7241,10 @@ case 9: message.feature = 9; break; + case "LOGO_RECOGNITION": + case 12: + message.feature = 12; + break; } if (object.segment != null) { if (typeof object.segment !== "object") @@ -9454,6 +10589,286 @@ return ObjectTrackingAnnotation; })(); + v1.LogoRecognitionAnnotation = (function() { + + /** + * Properties of a LogoRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface ILogoRecognitionAnnotation + * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] LogoRecognitionAnnotation entity + * @property {Array.|null} [tracks] LogoRecognitionAnnotation tracks + * @property {Array.|null} [segments] LogoRecognitionAnnotation segments + */ + + /** + * Constructs a new LogoRecognitionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a LogoRecognitionAnnotation. + * @implements ILogoRecognitionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.ILogoRecognitionAnnotation=} [properties] Properties to set + */ + function LogoRecognitionAnnotation(properties) { + this.tracks = []; + this.segments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LogoRecognitionAnnotation entity. + * @member {google.cloud.videointelligence.v1.IEntity|null|undefined} entity + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.entity = null; + + /** + * LogoRecognitionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.tracks = $util.emptyArray; + + /** + * LogoRecognitionAnnotation segments. + * @member {Array.} segments + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @instance + */ + LogoRecognitionAnnotation.prototype.segments = $util.emptyArray; + + /** + * Creates a new LogoRecognitionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILogoRecognitionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.LogoRecognitionAnnotation} LogoRecognitionAnnotation instance + */ + LogoRecognitionAnnotation.create = function create(properties) { + return new LogoRecognitionAnnotation(properties); + }; + + /** + * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILogoRecognitionAnnotation} message LogoRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LogoRecognitionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entity != null && message.hasOwnProperty("entity")) + $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1.Track.encode(message.tracks[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.segments != null && message.segments.length) + for (var i = 0; i < message.segments.length; ++i) + $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.ILogoRecognitionAnnotation} message LogoRecognitionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LogoRecognitionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LogoRecognitionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LogoRecognitionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LogoRecognitionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LogoRecognitionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entity != null && message.hasOwnProperty("entity")) { + var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.entity); + if (error) + return "entity." + error; + } + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.Track.verify(message.tracks[i]); + if (error) + return "tracks." + error; + } + } + if (message.segments != null && message.hasOwnProperty("segments")) { + if (!Array.isArray(message.segments)) + return "segments: array expected"; + for (var i = 0; i < message.segments.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segments[i]); + if (error) + return "segments." + error; + } + } + return null; + }; + + /** + * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.LogoRecognitionAnnotation} LogoRecognitionAnnotation + */ + LogoRecognitionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation(); + if (object.entity != null) { + if (typeof object.entity !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LogoRecognitionAnnotation.entity: object expected"); + message.entity = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.entity); + } + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1.LogoRecognitionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LogoRecognitionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1.Track.fromObject(object.tracks[i]); + } + } + if (object.segments) { + if (!Array.isArray(object.segments)) + throw TypeError(".google.cloud.videointelligence.v1.LogoRecognitionAnnotation.segments: array expected"); + message.segments = []; + for (var i = 0; i < object.segments.length; ++i) { + if (typeof object.segments[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.LogoRecognitionAnnotation.segments: object expected"); + message.segments[i] = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segments[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.LogoRecognitionAnnotation} message LogoRecognitionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LogoRecognitionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.tracks = []; + object.segments = []; + } + if (options.defaults) + object.entity = null; + if (message.entity != null && message.hasOwnProperty("entity")) + object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options); + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1.Track.toObject(message.tracks[j], options); + } + if (message.segments && message.segments.length) { + object.segments = []; + for (var j = 0; j < message.segments.length; ++j) + object.segments[j] = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segments[j], options); + } + return object; + }; + + /** + * Converts this LogoRecognitionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @instance + * @returns {Object.} JSON object + */ + LogoRecognitionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LogoRecognitionAnnotation; + })(); + return v1; })(); diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 6c026992bb4..95f007a3f4e 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -120,7 +120,8 @@ "FACE_DETECTION": 4, "SPEECH_TRANSCRIPTION": 6, "TEXT_DETECTION": 7, - "OBJECT_TRACKING": 9 + "OBJECT_TRACKING": 9, + "LOGO_RECOGNITION": 12 } }, "LabelDetectionMode": { @@ -369,6 +370,94 @@ } } }, + "TimestampedObject": { + "fields": { + "normalizedBoundingBox": { + "type": "NormalizedBoundingBox", + "id": 1 + }, + "timeOffset": { + "type": "google.protobuf.Duration", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "landmarks": { + "rule": "repeated", + "type": "DetectedLandmark", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "Track": { + "fields": { + "segment": { + "type": "VideoSegment", + "id": 1 + }, + "timestampedObjects": { + "rule": "repeated", + "type": "TimestampedObject", + "id": 2 + }, + "attributes": { + "rule": "repeated", + "type": "DetectedAttribute", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "confidence": { + "type": "float", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "DetectedAttribute": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "value": { + "type": "string", + "id": 3 + } + } + }, + "DetectedLandmark": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "point": { + "type": "NormalizedVertex", + "id": 2 + }, + "confidence": { + "type": "float", + "id": 3 + } + } + }, "VideoAnnotationResults": { "fields": { "inputUri": { @@ -433,6 +522,11 @@ "type": "ObjectTrackingAnnotation", "id": 14 }, + "logoRecognitionAnnotations": { + "rule": "repeated", + "type": "LogoRecognitionAnnotation", + "id": 19 + }, "error": { "type": "google.rpc.Status", "id": 9 @@ -742,6 +836,24 @@ "id": 2 } } + }, + "LogoRecognitionAnnotation": { + "fields": { + "entity": { + "type": "Entity", + "id": 1 + }, + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "VideoSegment", + "id": 3 + } + } } } }, diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index bc1dd1e0bdb..53c963d542a 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -24,6 +24,8 @@ * [Analyze_face_detection_gcs](#analyze_face_detection_gcs) * [Analyze_person_detection](#analyze_person_detection) * [Analyze_person_detection_gcs](#analyze_person_detection_gcs) + * [Detect_logo](#detect_logo) + * [Detect_logo_gcs](#detect_logo_gcs) * [Quickstart](#quickstart) ## Before you begin @@ -245,6 +247,40 @@ __Usage:__ +### Detect_logo + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) + +__Usage:__ + + +`node samples/detect_logo.js` + + +----- + + + + +### Detect_logo_gcs + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) + +__Usage:__ + + +`node samples/detect_logo_gcs.js` + + +----- + + + + ### Quickstart View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/quickstart.js). diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 4adf647d80b..56385c828c4 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,20 +1,20 @@ { - "updateTime": "2020-03-09T11:45:53.267362Z", + "updateTime": "2020-03-18T11:55:32.761647Z", "sources": [ { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "af7dff701fabe029672168649c62356cf1bb43d0", - "internalRef": "299724050", - "log": "af7dff701fabe029672168649c62356cf1bb43d0\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" + "sha": "4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6", + "internalRef": "299971671", + "log": "4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6\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\n" } }, { - "template": { - "name": "node_library", - "origin": "synthtool.gcp", - "version": "2020.2.4" + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "38eaee81b0cc895b5db9dc0ce9b5dd19c21533c3" } } ], From a4112b9a7c09263cf8e8aa670c47d62b94044522 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 18 Mar 2020 16:53:11 -0700 Subject: [PATCH 269/418] chore: release 2.10.0 (#403) --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 70c2018a8bf..19453fb5795 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [2.10.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.9.0...v2.10.0) (2020-03-18) + + +### Features + +* expose logo recognition API proto for GA ([#402](https://www.github.com/googleapis/nodejs-video-intelligence/issues/402)) ([5812129](https://www.github.com/googleapis/nodejs-video-intelligence/commit/5812129d86ed8b0ba152c196849986362617969d)) + ## [2.9.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.8.0...v2.9.0) (2020-03-11) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index c20ec09cfe4..82e063285dd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.9.0", + "version": "2.10.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 7ebe81f40af..8b3c60dd7cd 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.9.0", + "@google-cloud/video-intelligence": "^2.10.0", "yargs": "^15.0.0" }, "devDependencies": { From 371d6ad64404adb0b0162b4a5dfeac0802b92a25 Mon Sep 17 00:00:00 2001 From: Jeff Ching Date: Thu, 19 Mar 2020 09:30:17 -0700 Subject: [PATCH 270/418] chore: remove snippet leading whitespace (#404) --- .../google-cloud-videointelligence/README.md | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 25093297368..329fb606f61 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -55,61 +55,61 @@ npm install @google-cloud/video-intelligence ### Using the client library ```javascript - // Imports the Google Cloud Video Intelligence library - const videoIntelligence = require('@google-cloud/video-intelligence'); - - // Creates a client - const client = new videoIntelligence.VideoIntelligenceServiceClient(); - - // The GCS uri of the video to analyze - const gcsUri = 'gs://cloud-samples-data/video/cat.mp4'; - - // Construct request - const request = { - inputUri: gcsUri, - features: ['LABEL_DETECTION'], - }; - - // Execute request - const [operation] = await client.annotateVideo(request); - - console.log( - 'Waiting for operation to complete... (this may take a few minutes)' - ); - - const [operationResult] = await operation.promise(); - - // Gets annotations for video - const annotations = operationResult.annotationResults[0]; - - // Gets labels for video from its annotations - const labels = annotations.segmentLabelAnnotations; - labels.forEach(label => { - console.log(`Label ${label.entity.description} occurs at:`); - label.segments.forEach(segment => { - segment = segment.segment; - if (segment.startTimeOffset.seconds === undefined) { - segment.startTimeOffset.seconds = 0; - } - if (segment.startTimeOffset.nanos === undefined) { - segment.startTimeOffset.nanos = 0; - } - if (segment.endTimeOffset.seconds === undefined) { - segment.endTimeOffset.seconds = 0; - } - if (segment.endTimeOffset.nanos === undefined) { - segment.endTimeOffset.nanos = 0; - } - console.log( - `\tStart: ${segment.startTimeOffset.seconds}` + - `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - console.log( - `\tEnd: ${segment.endTimeOffset.seconds}.` + - `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` - ); - }); +// Imports the Google Cloud Video Intelligence library +const videoIntelligence = require('@google-cloud/video-intelligence'); + +// Creates a client +const client = new videoIntelligence.VideoIntelligenceServiceClient(); + +// The GCS uri of the video to analyze +const gcsUri = 'gs://cloud-samples-data/video/cat.mp4'; + +// Construct request +const request = { + inputUri: gcsUri, + features: ['LABEL_DETECTION'], +}; + +// Execute request +const [operation] = await client.annotateVideo(request); + +console.log( + 'Waiting for operation to complete... (this may take a few minutes)' +); + +const [operationResult] = await operation.promise(); + +// Gets annotations for video +const annotations = operationResult.annotationResults[0]; + +// Gets labels for video from its annotations +const labels = annotations.segmentLabelAnnotations; +labels.forEach(label => { + console.log(`Label ${label.entity.description} occurs at:`); + label.segments.forEach(segment => { + segment = segment.segment; + if (segment.startTimeOffset.seconds === undefined) { + segment.startTimeOffset.seconds = 0; + } + if (segment.startTimeOffset.nanos === undefined) { + segment.startTimeOffset.nanos = 0; + } + if (segment.endTimeOffset.seconds === undefined) { + segment.endTimeOffset.seconds = 0; + } + if (segment.endTimeOffset.nanos === undefined) { + segment.endTimeOffset.nanos = 0; + } + console.log( + `\tStart: ${segment.startTimeOffset.seconds}` + + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` + ); + console.log( + `\tEnd: ${segment.endTimeOffset.seconds}.` + + `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s` + ); }); +}); ``` From da1348af954bbe0e1371d33f3e9626437c1e0f4a Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 23 Mar 2020 18:44:18 -0700 Subject: [PATCH 271/418] docs: document version support goals (#410) --- .../google-cloud-videointelligence/README.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 329fb606f61..9690d8b03e6 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -143,6 +143,27 @@ has instructions for running the samples. The [Google Cloud Video Intelligence 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 8362cb71b58a808ee5d76914fb81f61815599eec Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Tue, 24 Mar 2020 09:36:59 -0700 Subject: [PATCH 272/418] feat: logo recognition update to GA * feat: adds recognition samples * feat: moves logo detect to GA * feat: final changes to logo detection --- packages/google-cloud-videointelligence/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index 5d32b23782f..d0901a2ab35 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -12,3 +12,5 @@ system-test/*key.json .DS_Store package-lock.json __pycache__ +*.code-workspace +launch.json \ No newline at end of file From ff939fbeb16706f743dc92d366e9198538f0749d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 25 Mar 2020 01:13:40 -0700 Subject: [PATCH 273/418] chore: regenerate the code (#409) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/0ffa7b0e-4232-45d8-8c85-0374a6c742dd/targets --- packages/google-cloud-videointelligence/.jsdoc.js | 2 +- .../google-cloud-videointelligence/src/v1/index.ts | 2 +- .../src/v1/video_intelligence_service_client.ts | 7 ++++--- .../src/v1beta2/index.ts | 2 +- .../src/v1beta2/video_intelligence_service_client.ts | 7 ++++--- .../src/v1p1beta1/index.ts | 2 +- .../v1p1beta1/video_intelligence_service_client.ts | 7 ++++--- .../src/v1p2beta1/index.ts | 2 +- .../v1p2beta1/video_intelligence_service_client.ts | 7 ++++--- .../src/v1p3beta1/index.ts | 2 +- .../streaming_video_intelligence_service_client.ts | 7 ++++--- .../v1p3beta1/video_intelligence_service_client.ts | 7 ++++--- .../google-cloud-videointelligence/synth.metadata | 11 ++++++----- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- .../system-test/install.ts | 2 +- ...-streaming_video_intelligence_service-v1p3beta1.ts | 2 +- .../test/gapic-video_intelligence_service-v1.ts | 2 +- .../test/gapic-video_intelligence_service-v1beta2.ts | 2 +- .../gapic-video_intelligence_service-v1p1beta1.ts | 2 +- .../gapic-video_intelligence_service-v1p2beta1.ts | 2 +- .../gapic-video_intelligence_service-v1p3beta1.ts | 2 +- .../google-cloud-videointelligence/webpack.config.js | 2 +- 23 files changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 38161bb575d..24098e0c53f 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/src/v1/index.ts b/packages/google-cloud-videointelligence/src/v1/index.ts index b4969ebdd1f..29edb22b187 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 0f0828ee4c9..52377cb491a 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class VideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -203,7 +203,8 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1beta2/index.ts b/packages/google-cloud-videointelligence/src/v1beta2/index.ts index b4969ebdd1f..29edb22b187 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 0dd0d120aed..00ca7e08c85 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1beta2 */ export class VideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -203,7 +203,8 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p1beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts index b4969ebdd1f..29edb22b187 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 3919a44f701..f649505bb75 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1p1beta1 */ export class VideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -203,7 +203,8 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p2beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts index b4969ebdd1f..29edb22b187 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 50619ff2f88..b5d3484cc00 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1p2beta1 */ export class VideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -203,7 +203,8 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts index 829cb54cf4c..75361aba007 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 96943223dee..84a8bde5d8c 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class StreamingVideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -185,7 +185,8 @@ export class StreamingVideoIntelligenceServiceClient { 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 279d9fa80dc..d6a54999328 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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. @@ -31,7 +31,7 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class VideoIntelligenceServiceClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}, batching: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -203,7 +203,8 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 56385c828c4..cb09f87cc5c 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,20 +1,21 @@ { - "updateTime": "2020-03-18T11:55:32.761647Z", + "updateTime": "2020-03-22T11:54:39.335289Z", "sources": [ { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6", - "internalRef": "299971671", - "log": "4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6\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\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\n" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "38eaee81b0cc895b5db9dc0ce9b5dd19c21533c3" + "sha": "7e98e1609c91082f4eeb63b530c6468aefd18cfd", + "log": "7e98e1609c91082f4eeb63b530c6468aefd18cfd\nbuild: use checkout@v2, not v1, as this allows manual re-running of tests (#451)\n\nhttps://github.com/actions/checkout/issues/23\nbcad3e01b69851ad682a87f8202003a1683ad73a\nfix(snippets): trim leading whitespace when extracting snippets (#449)\n\n* fix(snippets): trim leading whitespace when extracting snippets\n\n* docs: add docstring for _trim_leading_whitespace\nc73d13fb3fc69bb749f2f8005ee0db043d5903d3\ndocs: slight tweak to wording of contributing blurb in README (#446)\n\n\n1326d00fa9e856aa6b244b6811404cf45b109119\nfix: joining / fails for string type (#448)\n\n\n439df27ccecd8eaf926a773d92d37d49e4b64c1c\nfix(java): fix snippet region tag (#447)\n\n\n" } } ], diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js index efa1f2db1a6..ad7c5c54511 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index 479e287cb43..fae52db576d 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index 140852a8528..5e4ed636481 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts index 1d601228b01..305171838b3 100644 --- a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-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-videointelligence/test/gapic-video_intelligence_service-v1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts index a99b1701867..12a45e921bf 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-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-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts index ac78ed70a4d..407eb066054 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.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-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts index e6b4abbde9f..4bd696fab3f 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-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-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts index 2ab7dabc7fe..b89c5354064 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-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-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts index fa9c7fb5f5b..7f2bff85d95 100644 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-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-videointelligence/webpack.config.js b/packages/google-cloud-videointelligence/webpack.config.js index 8a0a183124c..89a526c8d56 100644 --- a/packages/google-cloud-videointelligence/webpack.config.js +++ b/packages/google-cloud-videointelligence/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 368716ccfbd17edca22e1c47f2ffe352dd19bbc0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 25 Mar 2020 10:12:30 -0700 Subject: [PATCH 274/418] chore: update .gitignore (#412) * Change triggered by none of the following: This git repo (https://github.com/googleapis/nodejs-video-intelligence.git) Git repo https://github.com/googleapis/googleapis.git Git repo https://github.com/googleapis/synthtool.git * docs: document the release schedule we follow (#454) https://github.com/googleapis/synthtool/commit/6a17abc7652e2fe563e1288c6e8c23fc260dda97 commit 6a17abc7652e2fe563e1288c6e8c23fc260dda97 Author: Benjamin E. Coe Date: Mon Mar 23 19:22:34 2020 -0700 docs: document the release schedule we follow (#454) synthtool/gcp/templates/node_library/README.md --- packages/google-cloud-videointelligence/.gitignore | 2 -- .../google-cloud-videointelligence/synth.metadata | 12 ++++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore index d0901a2ab35..5d32b23782f 100644 --- a/packages/google-cloud-videointelligence/.gitignore +++ b/packages/google-cloud-videointelligence/.gitignore @@ -12,5 +12,3 @@ system-test/*key.json .DS_Store package-lock.json __pycache__ -*.code-workspace -launch.json \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index cb09f87cc5c..6fbce252c9f 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,21 +1,21 @@ { - "updateTime": "2020-03-22T11:54:39.335289Z", + "updateTime": "2020-03-25T11:47:43.153358Z", "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\n" + "sha": "551cf1e6e3addcc63740427c4f9b40dedd3dac27", + "internalRef": "302792195", + "log": "551cf1e6e3addcc63740427c4f9b40dedd3dac27\nfeat: Add OS Config AgentEndpointService v1 PatchJobs and Tasks APIs.\n\nPiperOrigin-RevId: 302792195\n\n1df117114c73299b614dfd3ba3632bf246669336\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 302753982\n\n71d6c56a14bb433beb1237dccb48dabcd9597924\nRefresh monitoring client libraries.\nRename to Cloud Monitoring API.\nAdded support for TimeSeriesQueryLanguageCondition condition type in alert policies.\n\nPiperOrigin-RevId: 302735422\n\n25a1781c096974df99d556cc5888fefa82bc6425\nbazel: migrate all go_gapic_library targets to microgenerator implementation\n\n* update rules_go and gazelle bazel dependencies\n* update gapic-generator bazel dependency (with build file generator changes)\n\nPiperOrigin-RevId: 302730217\n\n36c0febd0fa7267ab66d14408eec2afd1b6bec4e\nUpdate GAPIC configurations to v2 .yaml.\n\nPiperOrigin-RevId: 302639621\n\n078f222366ed344509a48f2f084944ef61476613\nFix containeranalysis v1beta1 assembly target name\n\nPiperOrigin-RevId: 302529186\n\n" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "7e98e1609c91082f4eeb63b530c6468aefd18cfd", - "log": "7e98e1609c91082f4eeb63b530c6468aefd18cfd\nbuild: use checkout@v2, not v1, as this allows manual re-running of tests (#451)\n\nhttps://github.com/actions/checkout/issues/23\nbcad3e01b69851ad682a87f8202003a1683ad73a\nfix(snippets): trim leading whitespace when extracting snippets (#449)\n\n* fix(snippets): trim leading whitespace when extracting snippets\n\n* docs: add docstring for _trim_leading_whitespace\nc73d13fb3fc69bb749f2f8005ee0db043d5903d3\ndocs: slight tweak to wording of contributing blurb in README (#446)\n\n\n1326d00fa9e856aa6b244b6811404cf45b109119\nfix: joining / fails for string type (#448)\n\n\n439df27ccecd8eaf926a773d92d37d49e4b64c1c\nfix(java): fix snippet region tag (#447)\n\n\n" + "sha": "6a17abc7652e2fe563e1288c6e8c23fc260dda97", + "log": "6a17abc7652e2fe563e1288c6e8c23fc260dda97\ndocs: document the release schedule we follow (#454)\n\n\n" } } ], From d8eb892d48c25a0008bcdd3f9ad83664e015944e Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 6 Apr 2020 13:44:26 -0700 Subject: [PATCH 275/418] chore: remove duplicate mocha config (#419) --- packages/google-cloud-videointelligence/.mocharc.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/.mocharc.json diff --git a/packages/google-cloud-videointelligence/.mocharc.json b/packages/google-cloud-videointelligence/.mocharc.json deleted file mode 100644 index 670c5e2c24b..00000000000 --- a/packages/google-cloud-videointelligence/.mocharc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} From dabb4f9bcd7d56ae78b563d5dad46a467d87ee0e Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 10 Apr 2020 18:57:29 -0700 Subject: [PATCH 276/418] feat!: drop node8, remove eslint, update gax, fix generated protos, run the generator (#423) --- .../.eslintrc.json | 3 + .../.eslintrc.yml | 15 - .../google-cloud-videointelligence/.jsdoc.js | 2 +- .../.prettierrc | 8 - .../.prettierrc.js | 17 + .../package.json | 18 +- .../protos/protos.js | 2 +- .../protos/protos.json | 16 +- .../v1/video_intelligence_service_client.ts | 332 +++++++++++------- .../video_intelligence_service_client.ts | 332 +++++++++++------- .../video_intelligence_service_client.ts | 332 +++++++++++------- .../video_intelligence_service_client.ts | 332 +++++++++++------- .../src/v1p3beta1/index.ts | 3 +- ...aming_video_intelligence_service_client.ts | 153 ++++---- .../video_intelligence_service_client.ts | 332 +++++++++++------- .../synth.metadata | 15 +- .../google-cloud-videointelligence/synth.py | 2 +- .../system-test/fixtures/sample/src/index.ts | 9 +- .../system-test/install.ts | 28 +- .../video_intelligence_service_smoke_test.ts | 6 +- ...ng_video_intelligence_service-v1p3beta1.ts | 149 -------- .../gapic-video_intelligence_service-v1.ts | 160 --------- ...apic-video_intelligence_service-v1beta2.ts | 160 --------- ...ic-video_intelligence_service-v1p1beta1.ts | 160 --------- ...ic-video_intelligence_service-v1p2beta1.ts | 160 --------- ...ic-video_intelligence_service-v1p3beta1.ts | 160 --------- ...ng_video_intelligence_service_v1p3beta1.ts | 248 +++++++++++++ .../gapic_video_intelligence_service_v1.ts | 300 ++++++++++++++++ ...apic_video_intelligence_service_v1beta2.ts | 301 ++++++++++++++++ ...ic_video_intelligence_service_v1p1beta1.ts | 301 ++++++++++++++++ ...ic_video_intelligence_service_v1p2beta1.ts | 301 ++++++++++++++++ ...ic_video_intelligence_service_v1p3beta1.ts | 301 ++++++++++++++++ .../tslint.json | 3 - 33 files changed, 2896 insertions(+), 1765 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.eslintrc.json delete mode 100644 packages/google-cloud-videointelligence/.eslintrc.yml delete mode 100644 packages/google-cloud-videointelligence/.prettierrc create mode 100644 packages/google-cloud-videointelligence/.prettierrc.js delete mode 100644 packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts delete mode 100644 packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts create mode 100644 packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts delete mode 100644 packages/google-cloud-videointelligence/tslint.json diff --git a/packages/google-cloud-videointelligence/.eslintrc.json b/packages/google-cloud-videointelligence/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/packages/google-cloud-videointelligence/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/packages/google-cloud-videointelligence/.eslintrc.yml b/packages/google-cloud-videointelligence/.eslintrc.yml deleted file mode 100644 index 73eeec27612..00000000000 --- a/packages/google-cloud-videointelligence/.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-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index 24098e0c53f..f76333b57bb 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', diff --git a/packages/google-cloud-videointelligence/.prettierrc b/packages/google-cloud-videointelligence/.prettierrc deleted file mode 100644 index df6eac07446..00000000000 --- a/packages/google-cloud-videointelligence/.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-videointelligence/.prettierrc.js b/packages/google-cloud-videointelligence/.prettierrc.js new file mode 100644 index 00000000000..d1b95106f4c --- /dev/null +++ b/packages/google-cloud-videointelligence/.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 +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT 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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 82e063285dd..2632f45f657 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=8.10.0" + "node": ">=10" }, "repository": "googleapis/nodejs-video-intelligence", "main": "build/src/index.js", @@ -29,31 +29,28 @@ ], "scripts": { "docs": "jsdoc -c .jsdoc.js", - "lint": "gts fix && eslint --fix samples/*.js", + "lint": "gts fix", "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", "system-test": "c8 mocha build/system-test --timeout 600000", "test": "c8 mocha build/test", - "fix": "eslint --fix '**/*.js'", + "fix": "gts fix", "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", "prepare": "npm run compile" }, "dependencies": { - "google-gax": "^1.14.2" + "google-gax": "^2.1.0" }, "devDependencies": { "@types/mocha": "^7.0.0", "@types/node": "^12.12.29", + "@types/sinon": "^9.0.0", "c8": "^7.0.0", - "eslint": "^6.0.0", - "eslint-config-prettier": "^6.0.0", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.0", - "gts": "^1.1.2", + "gts": "^2.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", @@ -62,6 +59,7 @@ "null-loader": "^3.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^1.17.1", + "sinon": "^9.0.2", "ts-loader": "^6.2.1", "typescript": "^3.8.3", "webpack": "^4.42.0", diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 57fe563d5a2..78c22029afa 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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_video_intelligence_2_10_0_protos || ($protobuf.roots._google_cloud_video_intelligence_2_10_0_protos = {}); $root.google = (function() { diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 95f007a3f4e..dde274ca5b0 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -4332,26 +4332,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": { @@ -4359,7 +4365,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": { @@ -4485,6 +4492,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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 52377cb491a..a0f63e79ff3 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -17,10 +17,16 @@ // ** 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 { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +37,6 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class VideoIntelligenceServiceClient { - 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; @@ -40,6 +44,13 @@ export class VideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -71,11 +82,14 @@ export class VideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -85,8 +99,8 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -96,20 +110,18 @@ export class VideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof VideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -125,45 +137,63 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 // 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(require("../../protos/protos.json")) : - this._gaxModule.protobuf.loadSync(nodejsProtoPath); - - this.operationsClient = this._gaxModule.lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined - }).operationsClient(opts); + 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({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1.AnnotateVideoResponse') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1.AnnotateVideoProgress') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1.AnnotateVideoProgress' + ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1.VideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1.VideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -186,19 +216,21 @@ export class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1.VideoIntelligenceService. this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1.VideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1.VideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1.VideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1 + .VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = - ['annotateVideo']; - + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = this.videoIntelligenceServiceStub.then( + const callPromise = this.videoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -206,25 +238,20 @@ export class VideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.videoIntelligenceServiceStub; @@ -257,9 +284,7 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -269,8 +294,9 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -283,88 +309,126 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options?: gax.CallOptions): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): void; -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - optionsOrCallback?: gax.CallOptions|Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, - callback?: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ + annotateVideo( + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; this.initialize(); - return this._innerApiCalls.annotateVideo(request, options, callback); + return this.innerApiCalls.annotateVideo(request, options, callback); } /** diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 00ca7e08c85..3164c9966cc 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -17,10 +17,16 @@ // ** 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 { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +37,6 @@ const version = require('../../../package.json').version; * @memberof v1beta2 */ export class VideoIntelligenceServiceClient { - 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; @@ -40,6 +44,13 @@ export class VideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -71,11 +82,14 @@ export class VideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -85,8 +99,8 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -96,20 +110,18 @@ export class VideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof VideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -125,45 +137,63 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 // 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(require("../../protos/protos.json")) : - this._gaxModule.protobuf.loadSync(nodejsProtoPath); - - this.operationsClient = this._gaxModule.lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined - }).operationsClient(opts); + 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({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress' + ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -186,19 +216,21 @@ export class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1beta2.VideoIntelligenceService. this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1beta2.VideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1beta2.VideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1beta2.VideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1beta2 + .VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = - ['annotateVideo']; - + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = this.videoIntelligenceServiceStub.then( + const callPromise = this.videoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -206,25 +238,20 @@ export class VideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.videoIntelligenceServiceStub; @@ -257,9 +284,7 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -269,8 +294,9 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -283,88 +309,126 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options?: gax.CallOptions): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): void; -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1beta2.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - optionsOrCallback?: gax.CallOptions|Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, - callback?: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1beta2.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ + annotateVideo( + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; this.initialize(); - return this._innerApiCalls.annotateVideo(request, options, callback); + return this.innerApiCalls.annotateVideo(request, options, callback); } /** diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index f649505bb75..d04ae34c088 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -17,10 +17,16 @@ // ** 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 { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +37,6 @@ const version = require('../../../package.json').version; * @memberof v1p1beta1 */ export class VideoIntelligenceServiceClient { - 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; @@ -40,6 +44,13 @@ export class VideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -71,11 +82,14 @@ export class VideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -85,8 +99,8 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -96,20 +110,18 @@ export class VideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof VideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -125,45 +137,63 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 // 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(require("../../protos/protos.json")) : - this._gaxModule.protobuf.loadSync(nodejsProtoPath); - - this.operationsClient = this._gaxModule.lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined - }).operationsClient(opts); + 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({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -186,19 +216,21 @@ export class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService. this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1p1beta1 + .VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = - ['annotateVideo']; - + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = this.videoIntelligenceServiceStub.then( + const callPromise = this.videoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -206,25 +238,20 @@ export class VideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.videoIntelligenceServiceStub; @@ -257,9 +284,7 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -269,8 +294,9 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -283,88 +309,126 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options?: gax.CallOptions): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): void; -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - optionsOrCallback?: gax.CallOptions|Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, - callback?: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p1beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ + annotateVideo( + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; this.initialize(); - return this._innerApiCalls.annotateVideo(request, options, callback); + return this.innerApiCalls.annotateVideo(request, options, callback); } /** diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index b5d3484cc00..e6fbe3b7a0b 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -17,10 +17,16 @@ // ** 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 { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +37,6 @@ const version = require('../../../package.json').version; * @memberof v1p2beta1 */ export class VideoIntelligenceServiceClient { - 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; @@ -40,6 +44,13 @@ export class VideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -71,11 +82,14 @@ export class VideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -85,8 +99,8 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -96,20 +110,18 @@ export class VideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof VideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -125,45 +137,63 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 // 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(require("../../protos/protos.json")) : - this._gaxModule.protobuf.loadSync(nodejsProtoPath); - - this.operationsClient = this._gaxModule.lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined - }).operationsClient(opts); + 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({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -186,19 +216,21 @@ export class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService. this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1p2beta1 + .VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = - ['annotateVideo']; - + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = this.videoIntelligenceServiceStub.then( + const callPromise = this.videoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -206,25 +238,20 @@ export class VideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.videoIntelligenceServiceStub; @@ -257,9 +284,7 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -269,8 +294,9 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -283,88 +309,126 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options?: gax.CallOptions): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): void; -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - optionsOrCallback?: gax.CallOptions|Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, - callback?: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p2beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ + annotateVideo( + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; this.initialize(); - return this._innerApiCalls.annotateVideo(request, options, callback); + return this.innerApiCalls.annotateVideo(request, options, callback); } /** diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts index 75361aba007..949a1522853 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts @@ -16,4 +16,5 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {StreamingVideoIntelligenceServiceClient} from './streaming_video_intelligence_service_client';export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; +export {StreamingVideoIntelligenceServiceClient} from './streaming_video_intelligence_service_client'; +export {VideoIntelligenceServiceClient} from './video_intelligence_service_client'; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 84a8bde5d8c..25a31cce21d 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -17,10 +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 './streaming_video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +31,6 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class StreamingVideoIntelligenceServiceClient { - 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; @@ -40,6 +38,13 @@ export class StreamingVideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; streamingVideoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; /** @@ -70,11 +75,14 @@ export class StreamingVideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof StreamingVideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof StreamingVideoIntelligenceServiceClient; + 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) { @@ -84,8 +92,8 @@ export class StreamingVideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -95,20 +103,18 @@ export class StreamingVideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof StreamingVideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof StreamingVideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -124,28 +130,40 @@ export class StreamingVideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 ); // Some of the methods on this service provide streaming responses. // Provide descriptors for these. - this._descriptors.stream = { - streamingAnnotateVideo: new this._gaxModule.StreamDescriptor(gax.StreamType.BIDI_STREAMING) + this.descriptors.stream = { + streamingAnnotateVideo: new this._gaxModule.StreamDescriptor( + gax.StreamType.BIDI_STREAMING + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -168,19 +186,23 @@ export class StreamingVideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService. this.streamingVideoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1p3beta1 + .StreamingVideoIntelligenceService, + this._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 streamingVideoIntelligenceServiceStubMethods = - ['streamingAnnotateVideo']; - + const streamingVideoIntelligenceServiceStubMethods = [ + 'streamingAnnotateVideo', + ]; for (const methodName of streamingVideoIntelligenceServiceStubMethods) { - const innerCallPromise = this.streamingVideoIntelligenceServiceStub.then( + const callPromise = this.streamingVideoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -188,25 +210,20 @@ export class StreamingVideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.streamingVideoIntelligenceServiceStub; @@ -239,9 +256,7 @@ export class StreamingVideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -251,8 +266,9 @@ export class StreamingVideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -264,26 +280,23 @@ export class StreamingVideoIntelligenceServiceClient { // -- Service calls -- // ------------------- -/** - * Performs video annotation with bidirectional streaming: emitting results - * while sending video/audio bytes. - * This method is only available via the gRPC API (not REST). - * - * @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 is both readable and writable. It accepts objects - * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and - * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. - */ - streamingAnnotateVideo( - options?: gax.CallOptions): - gax.CancellableStream { + /** + * Performs video annotation with bidirectional streaming: emitting results + * while sending video/audio bytes. + * This method is only available via the gRPC API (not REST). + * + * @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 is both readable and writable. It accepts objects + * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and + * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. + */ + streamingAnnotateVideo(options?: gax.CallOptions): gax.CancellableStream { this.initialize(); - return this._innerApiCalls.streamingAnnotateVideo(options); + return this.innerApiCalls.streamingAnnotateVideo(options); } - /** * Terminate the GRPC channel and close the client. * diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index d6a54999328..4802282d683 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -17,10 +17,16 @@ // ** 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 { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -31,8 +37,6 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class VideoIntelligenceServiceClient { - 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; @@ -40,6 +44,13 @@ export class VideoIntelligenceServiceClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -71,11 +82,14 @@ export class VideoIntelligenceServiceClient { constructor(opts?: ClientOptions) { // Ensure that options include the service address and port. - const staticMembers = this.constructor as typeof VideoIntelligenceServiceClient; - const servicePath = opts && opts.servicePath ? - opts.servicePath : - ((opts && opts.apiEndpoint) ? opts.apiEndpoint : - staticMembers.servicePath); + const staticMembers = this + .constructor as typeof VideoIntelligenceServiceClient; + 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) { @@ -85,8 +99,8 @@ export class VideoIntelligenceServiceClient { opts.port = opts.port || port; opts.clientConfig = opts.clientConfig || {}; - const isBrowser = (typeof window !== 'undefined'); - if (isBrowser){ + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { opts.fallback = true; } // If we are in browser, we are already using fallback because of the @@ -96,20 +110,18 @@ export class VideoIntelligenceServiceClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = (this.constructor as typeof VideoIntelligenceServiceClient).scopes; + opts.scopes = (this + .constructor as typeof VideoIntelligenceServiceClient).scopes; this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [ - `gax/${this._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 { @@ -125,45 +137,63 @@ export class VideoIntelligenceServiceClient { // 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 nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + '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 // 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(require("../../protos/protos.json")) : - this._gaxModule.protobuf.loadSync(nodejsProtoPath); - - this.operationsClient = this._gaxModule.lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined - }).operationsClient(opts); + 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({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' + ) as gax.protobuf.Type; const annotateVideoMetadata = protoFilesRoot.lookup( - '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress') as gax.protobuf.Type; + '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress' + ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { annotateVideo: new this._gaxModule.LongrunningDescriptor( this.operationsClient, annotateVideoResponse.decode.bind(annotateVideoResponse), - annotateVideoMetadata.decode.bind(annotateVideoMetadata)) + annotateVideoMetadata.decode.bind(annotateVideoMetadata) + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService', + 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 = {}; + this.innerApiCalls = {}; } /** @@ -186,19 +216,21 @@ export class VideoIntelligenceServiceClient { // Put together the "service stub" for // google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService. this.videoIntelligenceServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService') : - // tslint:disable-next-line no-any - (this._protos as any).google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService, - this._opts) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.videointelligence.v1p3beta1 + .VideoIntelligenceService, + this._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 videoIntelligenceServiceStubMethods = - ['annotateVideo']; - + const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { - const innerCallPromise = this.videoIntelligenceServiceStub.then( + const callPromise = this.videoIntelligenceServiceStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -206,25 +238,20 @@ export class VideoIntelligenceServiceClient { const func = stub[methodName]; return func.apply(stub, args); }, - (err: Error|null|undefined) => () => { + (err: Error | null | undefined) => () => { throw err; - }); + } + ); 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.videoIntelligenceServiceStub; @@ -257,9 +284,7 @@ export class VideoIntelligenceServiceClient { * in this service. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -269,8 +294,9 @@ export class VideoIntelligenceServiceClient { * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback?: Callback): - Promise|void { + getProjectId( + callback?: Callback + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -283,88 +309,126 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options?: gax.CallOptions): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options: gax.CallOptions, - callback: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): void; -/** - * Performs asynchronous video annotation. Progress and results can be - * retrieved through the `google.longrunning.Operations` interface. - * `Operation.metadata` contains `AnnotateVideoProgress` (progress). - * `Operation.response` contains `AnnotateVideoResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.inputUri - * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; - * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. - * @param {Buffer} request.inputContent - * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. - * @param {number[]} request.features - * Required. Requested video annotation features. - * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext - * Additional video context and/or feature-specific parameters. - * @param {string} [request.outputUri] - * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: - * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * @param {string} [request.locationId] - * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. - * @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. - */ + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( - request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - optionsOrCallback?: gax.CallOptions|Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined>, - callback?: Callback< - LROperation, - protosTypes.google.longrunning.IOperation|undefined, - {}|undefined>): - Promise<[ - LROperation, - protosTypes.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Performs asynchronous video annotation. Progress and results can be + * retrieved through the `google.longrunning.Operations` interface. + * `Operation.metadata` contains `AnnotateVideoProgress` (progress). + * `Operation.response` contains `AnnotateVideoResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.inputUri + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video + * URI may include wildcards in `object-id`, and thus identify multiple + * videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + * @param {Buffer} request.inputContent + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + * @param {number[]} request.features + * Required. Requested video annotation features. + * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext + * Additional video context and/or feature-specific parameters. + * @param {string} [request.outputUri] + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * @param {string} [request.locationId] + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + * @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. + */ + annotateVideo( + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { request = request || {}; let options: gax.CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as gax.CallOptions; } options = options || {}; this.initialize(); - return this._innerApiCalls.annotateVideo(request, options, callback); + return this.innerApiCalls.annotateVideo(request, options, callback); } /** diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 6fbce252c9f..73b4cd0ee61 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,21 +1,12 @@ { - "updateTime": "2020-03-25T11:47:43.153358Z", + "updateTime": "2020-04-11T01:05:57.076030Z", "sources": [ - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "551cf1e6e3addcc63740427c4f9b40dedd3dac27", - "internalRef": "302792195", - "log": "551cf1e6e3addcc63740427c4f9b40dedd3dac27\nfeat: Add OS Config AgentEndpointService v1 PatchJobs and Tasks APIs.\n\nPiperOrigin-RevId: 302792195\n\n1df117114c73299b614dfd3ba3632bf246669336\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 302753982\n\n71d6c56a14bb433beb1237dccb48dabcd9597924\nRefresh monitoring client libraries.\nRename to Cloud Monitoring API.\nAdded support for TimeSeriesQueryLanguageCondition condition type in alert policies.\n\nPiperOrigin-RevId: 302735422\n\n25a1781c096974df99d556cc5888fefa82bc6425\nbazel: migrate all go_gapic_library targets to microgenerator implementation\n\n* update rules_go and gazelle bazel dependencies\n* update gapic-generator bazel dependency (with build file generator changes)\n\nPiperOrigin-RevId: 302730217\n\n36c0febd0fa7267ab66d14408eec2afd1b6bec4e\nUpdate GAPIC configurations to v2 .yaml.\n\nPiperOrigin-RevId: 302639621\n\n078f222366ed344509a48f2f084944ef61476613\nFix containeranalysis v1beta1 assembly target name\n\nPiperOrigin-RevId: 302529186\n\n" - } - }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "6a17abc7652e2fe563e1288c6e8c23fc260dda97", - "log": "6a17abc7652e2fe563e1288c6e8c23fc260dda97\ndocs: document the release schedule we follow (#454)\n\n\n" + "sha": "6f32150677c9784f3c3a7e1949472bd29c9d72c5", + "log": "6f32150677c9784f3c3a7e1949472bd29c9d72c5\nfix: installs test_utils from its common repo (#480)\n\n\n74ce986d3b5431eb66985e9a00c4eb45295a4020\nfix: stop recording update_time in synth.metadata (#478)\n\n\n7f8e62aa3edd225f76347a16f92e400661fdfb52\nchore(java): release-please only updates non maven versions in README (#476)\n\nPrevent release-please and synthtool from fighting over the released library version. Synthtool updates the install snippets from the samples pom.xml files so the bots fight if they are temporarily out of sync after a release.\nc7e0e517d7f46f77bebd27da2e5afcaa6eee7e25\nbuild(java): fix nightly integration test config to run integrations (#465)\n\nThis was only running the units.\nbd69a2aa7b70875f3c988e269706b22fefbef40e\nbuild(java): fix retry_with_backoff when -e option set (#475)\n\n\nd9b173c427bfa0c6cca818233562e7e8841a357c\nfix: record version of working repo in synth.metadata (#473)\n\nPartial revert of b37cf74d12e9a42b9de9e61a4f26133d7cd9c168.\nf73a541770d95a609e5be6bf6b3b220d17cefcbe\nfeat(discogapic): allow local discovery-artifact-manager (#474)\n\n\n8cf0f5d93a70c3dcb0b4999d3152c46d4d9264bf\ndoc: describe the Autosynth & Synthtool protocol (#472)\n\n* doc: describe the Autosynth & Synthtool protocol\n\n* Accommodate review comments.\n980baaa738a1ad8fa02b4fdbd56be075ee77ece5\nfix: pin sphinx to <3.0.0 as new version causes new error (#471)\n\nThe error `toctree contains reference to document changlelog that doesn't have a title: no link will be generated` occurs as of 3.0.0. Pinning to 2.x until we address the docs build issue.\n\nTowards #470\n\nI did this manually for python-datastore https://github.com/googleapis/python-datastore/pull/22\n928b2998ac5023e7c7e254ab935f9ef022455aad\nchore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#466)\n\nCo-authored-by: Jeffrey Rennie \n188f1b1d53181f739b98f8aa5d40cfe99eb90c47\nfix: allow local and external deps to be specified (#469)\n\nModify noxfile.py to allow local and external dependencies for\nsystem tests to be specified.\n1df68ed6735ddce6797d0f83641a731c3c3f75b4\nfix: apache license URL (#468)\n\n\nf4a59efa54808c4b958263de87bc666ce41e415f\nfeat: Add discogapic support for GAPICBazel generation (#459)\n\n* feat: Add discogapic support for GAPICBazel generation\n\n* reformat with black\n\n* Rename source repository variable\n\nCo-authored-by: Jeffrey Rennie \n99820243d348191bc9c634f2b48ddf65096285ed\nfix: update template files for Node.js libraries (#463)\n\n\n3cbe6bcd5623139ac9834c43818424ddca5430cb\nfix(ruby): remove dead troubleshooting link from generated auth guide (#462)\n\n\na003d8655d3ebec2bbbd5fc3898e91e152265c67\ndocs: remove \"install stable\" instructions (#461)\n\nThe package hasn't been released to PyPI in some time\nf5e8c88d9870d8aa4eb43fa0b39f07e02bfbe4df\nchore(python): add license headers to config files; make small tweaks to templates (#458)\n\n\ne36822bfa0acb355502dab391b8ef9c4f30208d8\nchore(java): treat samples shared configuration dependency update as chore (#457)\n\n\n1b4cc80a7aaf164f6241937dd87f3bd1f4149e0c\nfix: do not run node 8 CI (#456)\n\n\nee4330a0e5f4b93978e8683fbda8e6d4148326b7\nchore(java_templates): mark version bumps of current library as a chore (#452)\n\nWith the samples/install-without-bom/pom.xml referencing the latest released library, we want to mark updates of this version as a chore for renovate bot.\na0d3133a5d45544a66345059eebf76933265c099\nfix(java): run mvn install with retry (#453)\n\n* fix(java): run mvn install with retry\n\n* fix invocation of command\n" } } ], diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index c8a0e1988ab..0312f38038e 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -33,5 +33,5 @@ # Node.js specific cleanup subprocess.run(["npm", "install"]) -subprocess.run(["npm", "run", "fix"]) +subprocess.run(["npm", "run", "lint"]) subprocess.run(['npx', 'compileProtos', 'src']) diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index fae52db576d..ff906917cd0 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts @@ -16,11 +16,14 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {StreamingVideoIntelligenceServiceClient, VideoIntelligenceServiceClient} from '@google-cloud/video-intelligence'; +import { + StreamingVideoIntelligenceServiceClient, + VideoIntelligenceServiceClient, +} from '@google-cloud/video-intelligence'; function main() { - const streamingVideoIntelligenceServiceClient = new StreamingVideoIntelligenceServiceClient(); - const videoIntelligenceServiceClient = new VideoIntelligenceServiceClient(); + new StreamingVideoIntelligenceServiceClient(); + new VideoIntelligenceServiceClient(); } main(); diff --git a/packages/google-cloud-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index 5e4ed636481..c4d80e9c0c8 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/system-test/install.ts @@ -16,34 +16,36 @@ // ** 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'; +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. + 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() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts' + ).toString(), + }, }; - await packNTest(options); // will throw upon error. + 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. + 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() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.js' + ).toString(), + }, }; - await packNTest(options); // will throw upon error. + await packNTest(options); // will throw upon error. }); - }); diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts index be6d69d3584..dacede0c9a8 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts @@ -14,11 +14,11 @@ import {describe, it} from 'mocha'; import {Operation} from 'google-gax'; +// eslint-disable-next-line @typescript-eslint/no-var-requires +const videoIntelligence = require('../src'); describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { - const videoIntelligence = require('../src'); - const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( { // optional auth parameters. @@ -64,8 +64,6 @@ describe('VideoIntelligenceServiceSmokeTest', () => { }); it('successfully makes a call to the service', done => { - const videoIntelligence = require('../src'); - const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( { // optional auth parameters. diff --git a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts deleted file mode 100644 index 305171838b3..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-streaming_video_intelligence_service-v1p3beta1.ts +++ /dev/null @@ -1,149 +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 streamingvideointelligenceserviceModule = require('../src'); - -import {PassThrough} from 'stream'; - - -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 mockBidiStreamingGrpcMethod(expectedRequest: {}, response: {} | null, error: FakeError | null) { - return () => { - const mockStream = new PassThrough({ - objectMode: true, - transform: (chunk: {}, enc: {}, callback: Callback) => { - assert.deepStrictEqual(chunk, expectedRequest); - if (error) { - callback(error); - } - else { - callback(null, response); - } - } - }); - return mockStream; - } -} -describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.streamingVideoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('streamingAnnotateVideo', () => { - it('invokes streamingAnnotateVideo without error', done => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod(request, expectedResponse, null); - const stream = client.streamingAnnotateVideo().on('data', (response: {}) =>{ - assert.deepStrictEqual(response, expectedResponse); - done(); - }).on('error', (err: FakeError) => { - done(err); - }); - stream.write(request); - }); - it('invokes streamingAnnotateVideo with error', done => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.streamingAnnotateVideo = mockBidiStreamingGrpcMethod(request, null, error); - const stream = client.streamingAnnotateVideo().on('data', () =>{ - assert.fail(); - }).on('error', (err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - stream.write(request); - }); - }); -}); diff --git a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts deleted file mode 100644 index 12a45e921bf..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1.ts +++ /dev/null @@ -1,160 +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 videointelligenceserviceModule = 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 mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { - 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]); - }; -} -describe('v1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts deleted file mode 100644 index 407eb066054..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1beta2.ts +++ /dev/null @@ -1,160 +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 videointelligenceserviceModule = 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 mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { - 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]); - }; -} -describe('v1beta2.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts deleted file mode 100644 index 4bd696fab3f..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p1beta1.ts +++ /dev/null @@ -1,160 +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 videointelligenceserviceModule = 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 mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { - 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]); - }; -} -describe('v1p1beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts deleted file mode 100644 index b89c5354064..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p2beta1.ts +++ /dev/null @@ -1,160 +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 videointelligenceserviceModule = 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 mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { - 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]); - }; -} -describe('v1p2beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client.annotateVideo(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-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts deleted file mode 100644 index 7f2bff85d95..00000000000 --- a/packages/google-cloud-videointelligence/test/gapic-video_intelligence_service-v1p3beta1.ts +++ /dev/null @@ -1,160 +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 videointelligenceserviceModule = 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 mockLongRunningGrpcMethod(expectedRequest: {}, response: {} | null, error?: {} | null) { - 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]); - }; -} -describe('v1p3beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); - it('has close method', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ - credentials: { client_email: 'bogus', private_key: 'bogus' }, - projectId: 'bogus', - }); - client.close(); - }); - describe('annotateVideo', () => { - it('invokes annotateVideo without error', done => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client.annotateVideo(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 annotateVideo with error', done => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.annotateVideo = mockLongRunningGrpcMethod( - request, - null, - error - ); - client.annotateVideo(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-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts new file mode 100644 index 00000000000..98a4c4f7b99 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts @@ -0,0 +1,248 @@ +// 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 streamingvideointelligenceserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +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 stubBidiStreamingCall( + response?: ResponseType, + error?: Error +) { + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + return sinon.stub().returns(mockStream); +} + +describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.streamingVideoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + 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 streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + 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('streamingAnnotateVideo', () => { + it('invokes streamingAnnotateVideo without error', async () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest() + ); + const expectedResponse = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse() + ); + client.innerApiCalls.streamingAnnotateVideo = stubBidiStreamingCall( + expectedResponse + ); + const stream = client.streamingAnnotateVideo(); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + ( + response: protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + ) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + stream.write(request); + stream.end(); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.streamingAnnotateVideo as SinonStub) + .getCall(0) + .calledWithExactly(undefined) + ); + assert.deepStrictEqual( + (((stream as unknown) as PassThrough)._transform as SinonStub).getCall( + 0 + ).args[0], + request + ); + }); + + it('invokes streamingAnnotateVideo with error', async () => { + const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest() + ); + const expectedError = new Error('expected'); + client.innerApiCalls.streamingAnnotateVideo = stubBidiStreamingCall( + undefined, + expectedError + ); + const stream = client.streamingAnnotateVideo(); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + ( + response: protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + ) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + stream.write(request); + stream.end(); + }); + await assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.innerApiCalls.streamingAnnotateVideo as SinonStub) + .getCall(0) + .calledWithExactly(undefined) + ); + assert.deepStrictEqual( + (((stream as unknown) as PassThrough)._transform as SinonStub).getCall( + 0 + ).args[0], + request + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts new file mode 100644 index 00000000000..d977f013ade --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -0,0 +1,300 @@ +// 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 videointelligenceserviceModule 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 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.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { + it('invokes annotateVideo without error', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.annotateVideo(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo without error using callback', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.annotateVideo( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes annotateVideo with call error', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(async () => { + await client.annotateVideo(request); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo with LRO error', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.annotateVideo(request); + await assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts new file mode 100644 index 00000000000..3dd64d7d1a3 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -0,0 +1,301 @@ +// 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 videointelligenceserviceModule 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 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('v1beta2.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { + it('invokes annotateVideo without error', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.annotateVideo(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo without error using callback', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.annotateVideo( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes annotateVideo with call error', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(async () => { + await client.annotateVideo(request); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo with LRO error', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.annotateVideo(request); + await assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts new file mode 100644 index 00000000000..c1066c58109 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -0,0 +1,301 @@ +// 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 videointelligenceserviceModule 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 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('v1p1beta1.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { + it('invokes annotateVideo without error', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.annotateVideo(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo without error using callback', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.annotateVideo( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes annotateVideo with call error', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(async () => { + await client.annotateVideo(request); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo with LRO error', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.annotateVideo(request); + await assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts new file mode 100644 index 00000000000..ad1941876d7 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -0,0 +1,301 @@ +// 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 videointelligenceserviceModule 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 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.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { + it('invokes annotateVideo without error', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.annotateVideo(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo without error using callback', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.annotateVideo( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes annotateVideo with call error', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(async () => { + await client.annotateVideo(request); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo with LRO error', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.annotateVideo(request); + await assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts new file mode 100644 index 00000000000..18d10b25d47 --- /dev/null +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -0,0 +1,301 @@ +// 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 videointelligenceserviceModule 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 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.VideoIntelligenceServiceClient', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); + + it('has close method', () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { + it('invokes annotateVideo without error', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.annotateVideo(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo without error using callback', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.annotateVideo( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes annotateVideo with call error', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(async () => { + await client.annotateVideo(request); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes annotateVideo with LRO error', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.annotateVideo = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.annotateVideo(request); + await assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.annotateVideo as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-videointelligence/tslint.json b/packages/google-cloud-videointelligence/tslint.json deleted file mode 100644 index 617dc975bae..00000000000 --- a/packages/google-cloud-videointelligence/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "gts/tslint.json" -} From 2226865c10cd6ba182c1334d7329f09363580d58 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sat, 11 Apr 2020 19:15:43 -0700 Subject: [PATCH 277/418] build: remove unused codecov config (#425) --- packages/google-cloud-videointelligence/codecov.yaml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/codecov.yaml diff --git a/packages/google-cloud-videointelligence/codecov.yaml b/packages/google-cloud-videointelligence/codecov.yaml deleted file mode 100644 index 5724ea9478d..00000000000 --- a/packages/google-cloud-videointelligence/codecov.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -codecov: - ci: - - source.cloud.google.com From 04deb2bba5cef18f45fce4604471511b4c9c7111 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 13 Apr 2020 15:05:11 -0700 Subject: [PATCH 278/418] chore: update lint ignore files (#426) --- packages/google-cloud-videointelligence/.eslintignore | 3 ++- packages/google-cloud-videointelligence/.prettierignore | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index 09b31fe735a..9340ad9b86d 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -1,5 +1,6 @@ **/node_modules -src/**/doc/* +**/coverage +test/fixtures build/ docs/ protos/ diff --git a/packages/google-cloud-videointelligence/.prettierignore b/packages/google-cloud-videointelligence/.prettierignore index f6fac98b0a8..9340ad9b86d 100644 --- a/packages/google-cloud-videointelligence/.prettierignore +++ b/packages/google-cloud-videointelligence/.prettierignore @@ -1,3 +1,6 @@ -node_modules/* -samples/node_modules/* -src/**/doc/* +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ From caa0a8a87d5525227394d6bfc9cd76dd9f33ff90 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 14 Apr 2020 09:55:28 -0700 Subject: [PATCH 279/418] chore: remove unused dev packages (#427) --- packages/google-cloud-videointelligence/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2632f45f657..55ed8461833 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -58,7 +58,6 @@ "mocha": "^7.1.0", "null-loader": "^3.0.0", "pack-n-play": "^1.0.0-2", - "prettier": "^1.17.1", "sinon": "^9.0.2", "ts-loader": "^6.2.1", "typescript": "^3.8.3", From f99715ee5e9f70106054425d7eb56d7590b64e41 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 15 Apr 2020 17:30:48 +0200 Subject: [PATCH 280/418] chore(deps): update dependency ts-loader to v7 (#428) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 55ed8461833..246abd15e36 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -59,7 +59,7 @@ "null-loader": "^3.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.2", - "ts-loader": "^6.2.1", + "ts-loader": "^7.0.0", "typescript": "^3.8.3", "webpack": "^4.42.0", "webpack-cli": "^3.3.11" From 88e1202789774e702963ed678e797b05e4c4a297 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 15 Apr 2020 18:30:08 +0200 Subject: [PATCH 281/418] chore(deps): update dependency null-loader to v4 (#429) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 246abd15e36..36d962bca40 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,7 @@ "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", "mocha": "^7.1.0", - "null-loader": "^3.0.0", + "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.2", "ts-loader": "^7.0.0", From 2f3b4cfe7940bc9373929c53f3ef995243a863b6 Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu Date: Mon, 20 Apr 2020 12:49:55 -0700 Subject: [PATCH 282/418] remove smoke-test hack (#431) --- .../synth.metadata | 19 ++++++++++++++++--- .../google-cloud-videointelligence/synth.py | 7 +++---- .../system-test/install.ts | 4 ++-- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 73b4cd0ee61..78ddc46b6a9 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -1,12 +1,25 @@ { - "updateTime": "2020-04-11T01:05:57.076030Z", "sources": [ + { + "git": { + "name": ".", + "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "sha": "dfb36d2b24d32e6a8de41d4ecda9900de224b4d0" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", + "internalRef": "307114445" + } + }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "6f32150677c9784f3c3a7e1949472bd29c9d72c5", - "log": "6f32150677c9784f3c3a7e1949472bd29c9d72c5\nfix: installs test_utils from its common repo (#480)\n\n\n74ce986d3b5431eb66985e9a00c4eb45295a4020\nfix: stop recording update_time in synth.metadata (#478)\n\n\n7f8e62aa3edd225f76347a16f92e400661fdfb52\nchore(java): release-please only updates non maven versions in README (#476)\n\nPrevent release-please and synthtool from fighting over the released library version. Synthtool updates the install snippets from the samples pom.xml files so the bots fight if they are temporarily out of sync after a release.\nc7e0e517d7f46f77bebd27da2e5afcaa6eee7e25\nbuild(java): fix nightly integration test config to run integrations (#465)\n\nThis was only running the units.\nbd69a2aa7b70875f3c988e269706b22fefbef40e\nbuild(java): fix retry_with_backoff when -e option set (#475)\n\n\nd9b173c427bfa0c6cca818233562e7e8841a357c\nfix: record version of working repo in synth.metadata (#473)\n\nPartial revert of b37cf74d12e9a42b9de9e61a4f26133d7cd9c168.\nf73a541770d95a609e5be6bf6b3b220d17cefcbe\nfeat(discogapic): allow local discovery-artifact-manager (#474)\n\n\n8cf0f5d93a70c3dcb0b4999d3152c46d4d9264bf\ndoc: describe the Autosynth & Synthtool protocol (#472)\n\n* doc: describe the Autosynth & Synthtool protocol\n\n* Accommodate review comments.\n980baaa738a1ad8fa02b4fdbd56be075ee77ece5\nfix: pin sphinx to <3.0.0 as new version causes new error (#471)\n\nThe error `toctree contains reference to document changlelog that doesn't have a title: no link will be generated` occurs as of 3.0.0. Pinning to 2.x until we address the docs build issue.\n\nTowards #470\n\nI did this manually for python-datastore https://github.com/googleapis/python-datastore/pull/22\n928b2998ac5023e7c7e254ab935f9ef022455aad\nchore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#466)\n\nCo-authored-by: Jeffrey Rennie \n188f1b1d53181f739b98f8aa5d40cfe99eb90c47\nfix: allow local and external deps to be specified (#469)\n\nModify noxfile.py to allow local and external dependencies for\nsystem tests to be specified.\n1df68ed6735ddce6797d0f83641a731c3c3f75b4\nfix: apache license URL (#468)\n\n\nf4a59efa54808c4b958263de87bc666ce41e415f\nfeat: Add discogapic support for GAPICBazel generation (#459)\n\n* feat: Add discogapic support for GAPICBazel generation\n\n* reformat with black\n\n* Rename source repository variable\n\nCo-authored-by: Jeffrey Rennie \n99820243d348191bc9c634f2b48ddf65096285ed\nfix: update template files for Node.js libraries (#463)\n\n\n3cbe6bcd5623139ac9834c43818424ddca5430cb\nfix(ruby): remove dead troubleshooting link from generated auth guide (#462)\n\n\na003d8655d3ebec2bbbd5fc3898e91e152265c67\ndocs: remove \"install stable\" instructions (#461)\n\nThe package hasn't been released to PyPI in some time\nf5e8c88d9870d8aa4eb43fa0b39f07e02bfbe4df\nchore(python): add license headers to config files; make small tweaks to templates (#458)\n\n\ne36822bfa0acb355502dab391b8ef9c4f30208d8\nchore(java): treat samples shared configuration dependency update as chore (#457)\n\n\n1b4cc80a7aaf164f6241937dd87f3bd1f4149e0c\nfix: do not run node 8 CI (#456)\n\n\nee4330a0e5f4b93978e8683fbda8e6d4148326b7\nchore(java_templates): mark version bumps of current library as a chore (#452)\n\nWith the samples/install-without-bom/pom.xml referencing the latest released library, we want to mark updates of this version as a chore for renovate bot.\na0d3133a5d45544a66345059eebf76933265c099\nfix(java): run mvn install with retry (#453)\n\n* fix(java): run mvn install with retry\n\n* fix invocation of command\n" + "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" } } ], diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 0312f38038e..9269b663e90 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -18,15 +18,14 @@ version, generator_args={ "grpc-service-config": f"google/cloud/videointelligence/{version}/videointelligence_grpc_service_config.json", - "package-name": f"@google-cloud/video-intelligence", - "main-service": f"videointelligence", + "package-name": "@google-cloud/video-intelligence", + "main-service": "videointelligence", }, proto_path=f'/google/cloud/videointelligence/{version}', ) # skip index, protos, package.json, and README.md - s.copy(library, excludes=["package.json", "README.md", "src/index.ts", - "smoke-test/video_intelligence_service_smoke_test.ts"]) + s.copy(library, excludes=["package.json", "README.md", "src/index.ts"]) templates = common_templates.node_library(source_location='build/src') s.copy(templates) diff --git a/packages/google-cloud-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index c4d80e9c0c8..4c1ba3eb79a 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/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 60ba53f212832cdf819ce661ca636ad0e5a8cb02 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 Apr 2020 14:56:12 -0700 Subject: [PATCH 283/418] chore: linting (#430) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/e2decde6-d852-4ee4-a679-2a536210319e/targets --- packages/google-cloud-videointelligence/synth.metadata | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 78ddc46b6a9..190810fc041 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,7 +3,7 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", "sha": "dfb36d2b24d32e6a8de41d4ecda9900de224b4d0" } }, @@ -11,15 +11,15 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", - "internalRef": "307114445" + "sha": "bcc476396e799806d3355e87246c6becf6250a70", + "internalRef": "306974763" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" + "sha": "682c0c37d1054966ca662a44259e96cc7aea4413" } } ], From 89a718b057e5ed119bf7358bf23f339677babc3b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 21 Apr 2020 20:38:54 -0700 Subject: [PATCH 284/418] build: adopt changes to generator formatting (#432) --- .../protos/protos.js | 988 +++++++++--------- .../synth.metadata | 8 +- 2 files changed, 498 insertions(+), 498 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 78c22029afa..3cf0308f821 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -236,7 +236,7 @@ AnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.features != null && message.features.length) { writer.uint32(/* id 2, wireType 2 =*/18).fork(); @@ -244,13 +244,13 @@ writer.int32(message.features[i]); writer.ldelim(); } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) + if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext")) $root.google.cloud.videointelligence.v1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); return writer; }; @@ -644,19 +644,19 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + if (message.faceDetectionConfig != null && Object.hasOwnProperty.call(message, "faceDetectionConfig")) $root.google.cloud.videointelligence.v1.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + if (message.speechTranscriptionConfig != null && Object.hasOwnProperty.call(message, "speechTranscriptionConfig")) $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + if (message.textDetectionConfig != null && Object.hasOwnProperty.call(message, "textDetectionConfig")) $root.google.cloud.videointelligence.v1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -923,7 +923,7 @@ /** * Feature enum. * @name google.cloud.videointelligence.v1.Feature - * @enum {string} + * @enum {number} * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value @@ -951,7 +951,7 @@ /** * LabelDetectionMode enum. * @name google.cloud.videointelligence.v1.LabelDetectionMode - * @enum {string} + * @enum {number} * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value * @property {number} SHOT_MODE=1 SHOT_MODE value * @property {number} FRAME_MODE=2 FRAME_MODE value @@ -969,7 +969,7 @@ /** * Likelihood enum. * @name google.cloud.videointelligence.v1.Likelihood - * @enum {string} + * @enum {number} * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -1080,15 +1080,15 @@ LabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); - 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); - if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + if (message.frameConfidenceThreshold != null && Object.hasOwnProperty.call(message, "frameConfidenceThreshold")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.frameConfidenceThreshold); - if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + if (message.videoConfidenceThreshold != null && Object.hasOwnProperty.call(message, "videoConfidenceThreshold")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.videoConfidenceThreshold); return writer; }; @@ -1343,7 +1343,7 @@ ShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -1530,7 +1530,7 @@ ObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -1726,9 +1726,9 @@ FaceDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); - if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); return writer; }; @@ -1927,7 +1927,7 @@ ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -2127,7 +2127,7 @@ if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); return writer; }; @@ -2349,9 +2349,9 @@ VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset")) $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset")) $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -2569,9 +2569,9 @@ LabelSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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; }; @@ -2784,9 +2784,9 @@ LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, 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; }; @@ -3008,11 +3008,11 @@ Entity.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.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; @@ -3252,7 +3252,7 @@ LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.categoryEntities != null && message.categoryEntities.length) for (var i = 0; i < message.categoryEntities.length; ++i) @@ -3554,9 +3554,9 @@ ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; @@ -4028,13 +4028,13 @@ NormalizedBoundingBox.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) + if (message.left != null && Object.hasOwnProperty.call(message, "left")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && message.hasOwnProperty("top")) + if (message.top != null && Object.hasOwnProperty.call(message, "top")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && message.hasOwnProperty("right")) + if (message.right != null && Object.hasOwnProperty.call(message, "right")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) + if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); return writer; }; @@ -4255,7 +4255,7 @@ FaceSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -4460,7 +4460,7 @@ if (message.normalizedBoundingBoxes != null && message.normalizedBoundingBoxes.length) for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBoxes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -4703,7 +4703,7 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.thumbnail); if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) @@ -4996,9 +4996,9 @@ TimestampedObject.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox")) $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.attributes != null && message.attributes.length) for (var i = 0; i < message.attributes.length; ++i) @@ -5304,7 +5304,7 @@ Track.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.timestampedObjects != null && message.timestampedObjects.length) for (var i = 0; i < message.timestampedObjects.length; ++i) @@ -5312,7 +5312,7 @@ if (message.attributes != null && message.attributes.length) for (var i = 0; i < message.attributes.length; ++i) $root.google.cloud.videointelligence.v1.DetectedAttribute.encode(message.attributes[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; }; @@ -5596,11 +5596,11 @@ DetectedAttribute.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.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.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); return writer; }; @@ -5828,11 +5828,11 @@ DetectedLandmark.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.point != null && message.hasOwnProperty("point")) + if (message.point != null && Object.hasOwnProperty.call(message, "point")) $root.google.cloud.videointelligence.v1.NormalizedVertex.encode(message.point, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.confidence); return writer; }; @@ -6184,7 +6184,7 @@ VideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) @@ -6201,11 +6201,11 @@ if (message.shotAnnotations != null && message.shotAnnotations.length) for (var i = 0; i < message.shotAnnotations.length; ++i) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.speechTranscriptions != null && message.speechTranscriptions.length) for (var i = 0; i < message.speechTranscriptions.length; ++i) @@ -7044,17 +7044,17 @@ VideoAnnotationProgress.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim(); - if (message.feature != null && message.hasOwnProperty("feature")) + if (message.feature != null && Object.hasOwnProperty.call(message, "feature")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.feature); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -7642,16 +7642,16 @@ SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (message.maxAlternatives != null && Object.hasOwnProperty.call(message, "maxAlternatives")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); - if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (message.filterProfanity != null && Object.hasOwnProperty.call(message, "filterProfanity")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); if (message.speechContexts != null && message.speechContexts.length) for (var i = 0; i < message.speechContexts.length; ++i) $root.google.cloud.videointelligence.v1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (message.enableAutomaticPunctuation != null && Object.hasOwnProperty.call(message, "enableAutomaticPunctuation")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); if (message.audioTracks != null && message.audioTracks.length) { writer.uint32(/* id 6, wireType 2 =*/50).fork(); @@ -7659,11 +7659,11 @@ writer.int32(message.audioTracks[i]); writer.ldelim(); } - if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + if (message.enableSpeakerDiarization != null && Object.hasOwnProperty.call(message, "enableSpeakerDiarization")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.enableSpeakerDiarization); - if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + if (message.diarizationSpeakerCount != null && Object.hasOwnProperty.call(message, "diarizationSpeakerCount")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.diarizationSpeakerCount); - if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + if (message.enableWordConfidence != null && Object.hasOwnProperty.call(message, "enableWordConfidence")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableWordConfidence); return writer; }; @@ -8195,7 +8195,7 @@ if (message.alternatives != null && message.alternatives.length) for (var i = 0; i < message.alternatives.length; ++i) $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - 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; }; @@ -8432,9 +8432,9 @@ SpeechRecognitionAlternative.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.transcript != null && message.hasOwnProperty("transcript")) + if (message.transcript != null && Object.hasOwnProperty.call(message, "transcript")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); - 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.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) @@ -8703,15 +8703,15 @@ WordInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.word != null && message.hasOwnProperty("word")) + if (message.word != null && Object.hasOwnProperty.call(message, "word")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); - 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); - if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + if (message.speakerTag != null && Object.hasOwnProperty.call(message, "speakerTag")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.speakerTag); return writer; }; @@ -8962,9 +8962,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; }; @@ -9390,9 +9390,9 @@ TextSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) @@ -9639,9 +9639,9 @@ TextFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + if (message.rotatedBoundingBox != null && Object.hasOwnProperty.call(message, "rotatedBoundingBox")) $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -9860,7 +9860,7 @@ TextAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) @@ -10090,9 +10090,9 @@ ObjectTrackingFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox")) $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -10352,16 +10352,16 @@ ObjectTrackingAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, 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); - if (message.trackId != null && message.hasOwnProperty("trackId")) + if (message.trackId != null && Object.hasOwnProperty.call(message, "trackId")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); return writer; }; @@ -10665,7 +10665,7 @@ LogoRecognitionAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.tracks != null && message.tracks.length) for (var i = 0; i < message.tracks.length; ++i) @@ -11051,7 +11051,7 @@ AnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.features != null && message.features.length) { writer.uint32(/* id 2, wireType 2 =*/18).fork(); @@ -11059,13 +11059,13 @@ writer.int32(message.features[i]); writer.ldelim(); } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) + if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext")) $root.google.cloud.videointelligence.v1beta2.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); return writer; }; @@ -11412,13 +11412,13 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + if (message.faceDetectionConfig != null && Object.hasOwnProperty.call(message, "faceDetectionConfig")) $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -11708,11 +11708,11 @@ LabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); - 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; }; @@ -11945,7 +11945,7 @@ ShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -12132,7 +12132,7 @@ ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -12328,9 +12328,9 @@ FaceDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); - if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); return writer; }; @@ -12538,9 +12538,9 @@ VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset")) $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset")) $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -12758,9 +12758,9 @@ LabelSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segment, 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; }; @@ -12973,9 +12973,9 @@ LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, 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; }; @@ -13197,11 +13197,11 @@ Entity.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.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; @@ -13441,7 +13441,7 @@ LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1beta2.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.categoryEntities != null && message.categoryEntities.length) for (var i = 0; i < message.categoryEntities.length; ++i) @@ -13743,9 +13743,9 @@ ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; @@ -14217,13 +14217,13 @@ NormalizedBoundingBox.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) + if (message.left != null && Object.hasOwnProperty.call(message, "left")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && message.hasOwnProperty("top")) + if (message.top != null && Object.hasOwnProperty.call(message, "top")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && message.hasOwnProperty("right")) + if (message.right != null && Object.hasOwnProperty.call(message, "right")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) + if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); return writer; }; @@ -14444,7 +14444,7 @@ FaceSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -14649,7 +14649,7 @@ if (message.normalizedBoundingBoxes != null && message.normalizedBoundingBoxes.length) for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) $root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.encode(message.normalizedBoundingBoxes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -14892,7 +14892,7 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.thumbnail); if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) @@ -15224,7 +15224,7 @@ VideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) @@ -15241,9 +15241,9 @@ if (message.shotAnnotations != null && message.shotAnnotations.length) for (var i = 0; i < message.shotAnnotations.length; ++i) $root.google.cloud.videointelligence.v1beta2.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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(); return writer; }; @@ -15850,13 +15850,13 @@ VideoAnnotationProgress.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -16242,7 +16242,7 @@ /** * Feature enum. * @name google.cloud.videointelligence.v1beta2.Feature - * @enum {string} + * @enum {number} * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value @@ -16262,7 +16262,7 @@ /** * LabelDetectionMode enum. * @name google.cloud.videointelligence.v1beta2.LabelDetectionMode - * @enum {string} + * @enum {number} * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value * @property {number} SHOT_MODE=1 SHOT_MODE value * @property {number} FRAME_MODE=2 FRAME_MODE value @@ -16280,7 +16280,7 @@ /** * Likelihood enum. * @name google.cloud.videointelligence.v1beta2.Likelihood - * @enum {string} + * @enum {number} * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -16481,7 +16481,7 @@ AnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.features != null && message.features.length) { writer.uint32(/* id 2, wireType 2 =*/18).fork(); @@ -16489,13 +16489,13 @@ writer.int32(message.features[i]); writer.ldelim(); } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) + if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext")) $root.google.cloud.videointelligence.v1p1beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); return writer; }; @@ -16842,13 +16842,13 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + if (message.speechTranscriptionConfig != null && Object.hasOwnProperty.call(message, "speechTranscriptionConfig")) $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -17138,11 +17138,11 @@ LabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); - 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; }; @@ -17375,7 +17375,7 @@ ShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -17562,7 +17562,7 @@ ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -17758,9 +17758,9 @@ VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset")) $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset")) $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -17978,9 +17978,9 @@ LabelSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.segment, 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; }; @@ -18193,9 +18193,9 @@ LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, 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; }; @@ -18417,11 +18417,11 @@ Entity.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.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; @@ -18661,7 +18661,7 @@ LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p1beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.categoryEntities != null && message.categoryEntities.length) for (var i = 0; i < message.categoryEntities.length; ++i) @@ -18963,9 +18963,9 @@ ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; @@ -19478,7 +19478,7 @@ VideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) @@ -19492,9 +19492,9 @@ if (message.shotAnnotations != null && message.shotAnnotations.length) for (var i = 0; i < message.shotAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.speechTranscriptions != null && message.speechTranscriptions.length) for (var i = 0; i < message.speechTranscriptions.length; ++i) @@ -20104,13 +20104,13 @@ VideoAnnotationProgress.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -20596,16 +20596,16 @@ SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (message.maxAlternatives != null && Object.hasOwnProperty.call(message, "maxAlternatives")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); - if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (message.filterProfanity != null && Object.hasOwnProperty.call(message, "filterProfanity")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); if (message.speechContexts != null && message.speechContexts.length) for (var i = 0; i < message.speechContexts.length; ++i) $root.google.cloud.videointelligence.v1p1beta1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (message.enableAutomaticPunctuation != null && Object.hasOwnProperty.call(message, "enableAutomaticPunctuation")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); if (message.audioTracks != null && message.audioTracks.length) { writer.uint32(/* id 6, wireType 2 =*/50).fork(); @@ -21324,9 +21324,9 @@ SpeechRecognitionAlternative.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.transcript != null && message.hasOwnProperty("transcript")) + if (message.transcript != null && Object.hasOwnProperty.call(message, "transcript")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); - 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.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) @@ -21577,11 +21577,11 @@ WordInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.word != null && message.hasOwnProperty("word")) + if (message.word != null && Object.hasOwnProperty.call(message, "word")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); return writer; }; @@ -21748,7 +21748,7 @@ /** * Feature enum. * @name google.cloud.videointelligence.v1p1beta1.Feature - * @enum {string} + * @enum {number} * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value @@ -21768,7 +21768,7 @@ /** * LabelDetectionMode enum. * @name google.cloud.videointelligence.v1p1beta1.LabelDetectionMode - * @enum {string} + * @enum {number} * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value * @property {number} SHOT_MODE=1 SHOT_MODE value * @property {number} FRAME_MODE=2 FRAME_MODE value @@ -21786,7 +21786,7 @@ /** * Likelihood enum. * @name google.cloud.videointelligence.v1p1beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -21987,7 +21987,7 @@ AnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.features != null && message.features.length) { writer.uint32(/* id 2, wireType 2 =*/18).fork(); @@ -21995,13 +21995,13 @@ writer.int32(message.features[i]); writer.ldelim(); } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) + if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext")) $root.google.cloud.videointelligence.v1p2beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); return writer; }; @@ -22353,13 +22353,13 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + if (message.textDetectionConfig != null && Object.hasOwnProperty.call(message, "textDetectionConfig")) $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; @@ -22649,11 +22649,11 @@ LabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); - 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; }; @@ -22886,7 +22886,7 @@ ShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -23073,7 +23073,7 @@ ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -23472,9 +23472,9 @@ VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset")) $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset")) $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -23692,9 +23692,9 @@ LabelSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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; }; @@ -23907,9 +23907,9 @@ LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, 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; }; @@ -24131,11 +24131,11 @@ Entity.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.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; @@ -24375,7 +24375,7 @@ LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p2beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.categoryEntities != null && message.categoryEntities.length) for (var i = 0; i < message.categoryEntities.length; ++i) @@ -24677,9 +24677,9 @@ ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; @@ -25151,13 +25151,13 @@ NormalizedBoundingBox.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) + if (message.left != null && Object.hasOwnProperty.call(message, "left")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && message.hasOwnProperty("top")) + if (message.top != null && Object.hasOwnProperty.call(message, "top")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && message.hasOwnProperty("right")) + if (message.right != null && Object.hasOwnProperty.call(message, "right")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) + if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); return writer; }; @@ -25456,7 +25456,7 @@ VideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) @@ -25470,9 +25470,9 @@ if (message.shotAnnotations != null && message.shotAnnotations.length) for (var i = 0; i < message.shotAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) @@ -26115,13 +26115,13 @@ VideoAnnotationProgress.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -26569,9 +26569,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; }; @@ -26997,9 +26997,9 @@ TextSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) @@ -27246,9 +27246,9 @@ TextFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + if (message.rotatedBoundingBox != null && Object.hasOwnProperty.call(message, "rotatedBoundingBox")) $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -27467,7 +27467,7 @@ TextAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) @@ -27697,9 +27697,9 @@ ObjectTrackingFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox")) $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -27936,14 +27936,14 @@ ObjectTrackingAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p2beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, 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; }; @@ -28141,7 +28141,7 @@ /** * Feature enum. * @name google.cloud.videointelligence.v1p2beta1.Feature - * @enum {string} + * @enum {number} * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value @@ -28163,7 +28163,7 @@ /** * LabelDetectionMode enum. * @name google.cloud.videointelligence.v1p2beta1.LabelDetectionMode - * @enum {string} + * @enum {number} * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value * @property {number} SHOT_MODE=1 SHOT_MODE value * @property {number} FRAME_MODE=2 FRAME_MODE value @@ -28181,7 +28181,7 @@ /** * Likelihood enum. * @name google.cloud.videointelligence.v1p2beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -28450,7 +28450,7 @@ AnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.features != null && message.features.length) { writer.uint32(/* id 2, wireType 2 =*/18).fork(); @@ -28458,13 +28458,13 @@ writer.int32(message.features[i]); writer.ldelim(); } - if (message.videoContext != null && message.hasOwnProperty("videoContext")) + if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext")) $root.google.cloud.videointelligence.v1p3beta1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputUri != null && message.hasOwnProperty("outputUri")) + if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri); - if (message.locationId != null && message.hasOwnProperty("locationId")) + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent); return writer; }; @@ -28877,21 +28877,21 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) + if (message.faceDetectionConfig != null && Object.hasOwnProperty.call(message, "faceDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) + if (message.speechTranscriptionConfig != null && Object.hasOwnProperty.call(message, "speechTranscriptionConfig")) $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) + if (message.textDetectionConfig != null && Object.hasOwnProperty.call(message, "textDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) + if (message.personDetectionConfig != null && Object.hasOwnProperty.call(message, "personDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.encode(message.personDetectionConfig, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -29263,15 +29263,15 @@ LabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) + if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera); - 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); - if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold")) + if (message.frameConfidenceThreshold != null && Object.hasOwnProperty.call(message, "frameConfidenceThreshold")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.frameConfidenceThreshold); - if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold")) + if (message.videoConfidenceThreshold != null && Object.hasOwnProperty.call(message, "videoConfidenceThreshold")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.videoConfidenceThreshold); return writer; }; @@ -29526,7 +29526,7 @@ ShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -29713,7 +29713,7 @@ ObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -29900,7 +29900,7 @@ ExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); return writer; }; @@ -30105,11 +30105,11 @@ FaceDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); - if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); - if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.includeAttributes); return writer; }; @@ -30337,11 +30337,11 @@ PersonDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.includeBoundingBoxes); - if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + if (message.includePoseLandmarks != null && Object.hasOwnProperty.call(message, "includePoseLandmarks")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includePoseLandmarks); - if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.includeAttributes); return writer; }; @@ -30564,7 +30564,7 @@ if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.model); return writer; }; @@ -30786,9 +30786,9 @@ VideoSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) + if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset")) $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) + if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset")) $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -31006,9 +31006,9 @@ LabelSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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; }; @@ -31221,9 +31221,9 @@ LabelFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, 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; }; @@ -31445,11 +31445,11 @@ Entity.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.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); return writer; }; @@ -31689,7 +31689,7 @@ LabelAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.categoryEntities != null && message.categoryEntities.length) for (var i = 0; i < message.categoryEntities.length; ++i) @@ -31991,9 +31991,9 @@ ExplicitContentFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) + if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood); return writer; }; @@ -32465,13 +32465,13 @@ NormalizedBoundingBox.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && message.hasOwnProperty("left")) + if (message.left != null && Object.hasOwnProperty.call(message, "left")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && message.hasOwnProperty("top")) + if (message.top != null && Object.hasOwnProperty.call(message, "top")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && message.hasOwnProperty("right")) + if (message.right != null && Object.hasOwnProperty.call(message, "right")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && message.hasOwnProperty("bottom")) + if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); return writer; }; @@ -32721,9 +32721,9 @@ TimestampedObject.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox")) $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.attributes != null && message.attributes.length) for (var i = 0; i < message.attributes.length; ++i) @@ -33029,7 +33029,7 @@ Track.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.timestampedObjects != null && message.timestampedObjects.length) for (var i = 0; i < message.timestampedObjects.length; ++i) @@ -33037,7 +33037,7 @@ if (message.attributes != null && message.attributes.length) for (var i = 0; i < message.attributes.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.encode(message.attributes[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; }; @@ -33321,11 +33321,11 @@ DetectedAttribute.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.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.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); return writer; }; @@ -33553,11 +33553,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; }; @@ -33780,7 +33780,7 @@ if (message.celebrities != null && message.celebrities.length) for (var i = 0; i < message.celebrities.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.encode(message.celebrities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.faceTrack != null && message.hasOwnProperty("faceTrack")) + if (message.faceTrack != null && Object.hasOwnProperty.call(message, "faceTrack")) $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.faceTrack, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -34009,9 +34009,9 @@ RecognizedCelebrity.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.videointelligence.v1p3beta1.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; }; @@ -34444,11 +34444,11 @@ DetectedLandmark.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.point != null && message.hasOwnProperty("point")) + if (message.point != null && Object.hasOwnProperty.call(message, "point")) $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.encode(message.point, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.confidence); return writer; }; @@ -34676,7 +34676,7 @@ if (message.tracks != null && message.tracks.length) for (var i = 0; i < message.tracks.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.Track.encode(message.tracks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thumbnail); return writer; }; @@ -35267,7 +35267,7 @@ VideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length) for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) @@ -35281,11 +35281,11 @@ if (message.shotAnnotations != null && message.shotAnnotations.length) for (var i = 0; i < message.shotAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).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.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.speechTranscriptions != null && message.speechTranscriptions.length) for (var i = 0; i < message.speechTranscriptions.length; ++i) @@ -35305,7 +35305,7 @@ if (message.personDetectionAnnotations != null && message.personDetectionAnnotations.length) for (var i = 0; i < message.personDetectionAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.encode(message.personDetectionAnnotations[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); - if (message.celebrityRecognitionAnnotations != null && message.hasOwnProperty("celebrityRecognitionAnnotations")) + if (message.celebrityRecognitionAnnotations != null && Object.hasOwnProperty.call(message, "celebrityRecognitionAnnotations")) $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.encode(message.celebrityRecognitionAnnotations, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) @@ -36178,17 +36178,17 @@ VideoAnnotationProgress.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputUri != null && message.hasOwnProperty("inputUri")) + if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri); - if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) + if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim(); - if (message.feature != null && message.hasOwnProperty("feature")) + if (message.feature != null && Object.hasOwnProperty.call(message, "feature")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.feature); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -36786,16 +36786,16 @@ SpeechTranscriptionConfig.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.maxAlternatives != null && message.hasOwnProperty("maxAlternatives")) + if (message.maxAlternatives != null && Object.hasOwnProperty.call(message, "maxAlternatives")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives); - if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity")) + if (message.filterProfanity != null && Object.hasOwnProperty.call(message, "filterProfanity")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity); if (message.speechContexts != null && message.speechContexts.length) for (var i = 0; i < message.speechContexts.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation")) + if (message.enableAutomaticPunctuation != null && Object.hasOwnProperty.call(message, "enableAutomaticPunctuation")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation); if (message.audioTracks != null && message.audioTracks.length) { writer.uint32(/* id 6, wireType 2 =*/50).fork(); @@ -36803,11 +36803,11 @@ writer.int32(message.audioTracks[i]); writer.ldelim(); } - if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization")) + if (message.enableSpeakerDiarization != null && Object.hasOwnProperty.call(message, "enableSpeakerDiarization")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.enableSpeakerDiarization); - if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount")) + if (message.diarizationSpeakerCount != null && Object.hasOwnProperty.call(message, "diarizationSpeakerCount")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.diarizationSpeakerCount); - if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence")) + if (message.enableWordConfidence != null && Object.hasOwnProperty.call(message, "enableWordConfidence")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableWordConfidence); return writer; }; @@ -37339,7 +37339,7 @@ if (message.alternatives != null && message.alternatives.length) for (var i = 0; i < message.alternatives.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - 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; }; @@ -37576,9 +37576,9 @@ SpeechRecognitionAlternative.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.transcript != null && message.hasOwnProperty("transcript")) + if (message.transcript != null && Object.hasOwnProperty.call(message, "transcript")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript); - 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.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) @@ -37847,15 +37847,15 @@ WordInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTime != null && message.hasOwnProperty("startTime")) + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.word != null && message.hasOwnProperty("word")) + if (message.word != null && Object.hasOwnProperty.call(message, "word")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.word); - 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); - if (message.speakerTag != null && message.hasOwnProperty("speakerTag")) + if (message.speakerTag != null && Object.hasOwnProperty.call(message, "speakerTag")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.speakerTag); return writer; }; @@ -38106,9 +38106,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; }; @@ -38534,9 +38534,9 @@ TextSegment.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) @@ -38783,9 +38783,9 @@ TextFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) + if (message.rotatedBoundingBox != null && Object.hasOwnProperty.call(message, "rotatedBoundingBox")) $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -39004,7 +39004,7 @@ TextAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) @@ -39234,9 +39234,9 @@ ObjectTrackingFrame.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) + if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox")) $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) + if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -39496,16 +39496,16 @@ ObjectTrackingAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.encode(message.frames[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && Object.hasOwnProperty.call(message, "segment")) $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.segment, 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); - if (message.trackId != null && message.hasOwnProperty("trackId")) + if (message.trackId != null && Object.hasOwnProperty.call(message, "trackId")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); return writer; }; @@ -39809,7 +39809,7 @@ LogoRecognitionAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entity != null && message.hasOwnProperty("entity")) + if (message.entity != null && Object.hasOwnProperty.call(message, "entity")) $root.google.cloud.videointelligence.v1p3beta1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.tracks != null && message.tracks.length) for (var i = 0; i < message.tracks.length; ++i) @@ -40092,9 +40092,9 @@ StreamingAnnotateVideoRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.videoConfig != null && message.hasOwnProperty("videoConfig")) + if (message.videoConfig != null && Object.hasOwnProperty.call(message, "videoConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.encode(message.videoConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.inputContent != null && message.hasOwnProperty("inputContent")) + if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.inputContent); return writer; }; @@ -40329,11 +40329,11 @@ StreamingAnnotateVideoResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - 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 1, wireType 2 =*/10).fork()).ldelim(); - if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) + if (message.annotationResults != null && Object.hasOwnProperty.call(message, "annotationResults")) $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.encode(message.annotationResults, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + if (message.annotationResultsUri != null && Object.hasOwnProperty.call(message, "annotationResultsUri")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultsUri); return writer; }; @@ -40553,7 +40553,7 @@ StreamingAutomlClassificationConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.modelName != null && message.hasOwnProperty("modelName")) + if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); return writer; }; @@ -40740,7 +40740,7 @@ StreamingAutomlObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.modelName != null && message.hasOwnProperty("modelName")) + if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); return writer; }; @@ -41087,7 +41087,7 @@ StreamingLabelDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) + if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.stationaryCamera); return writer; }; @@ -41603,9 +41603,9 @@ StreamingStorageConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + if (message.enableStorageAnnotationResult != null && Object.hasOwnProperty.call(message, "enableStorageAnnotationResult")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableStorageAnnotationResult); - if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + if (message.annotationResultStorageDirectory != null && Object.hasOwnProperty.call(message, "annotationResultStorageDirectory")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultStorageDirectory); return writer; }; @@ -41840,7 +41840,7 @@ if (message.labelAnnotations != null && message.labelAnnotations.length) for (var i = 0; i < message.labelAnnotations.length; ++i) $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.objectAnnotations != null && message.objectAnnotations.length) for (var i = 0; i < message.objectAnnotations.length; ++i) @@ -42204,21 +42204,21 @@ StreamingVideoConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.feature != null && message.hasOwnProperty("feature")) + if (message.feature != null && Object.hasOwnProperty.call(message, "feature")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.feature); - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) + if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) + if (message.automlClassificationConfig != null && Object.hasOwnProperty.call(message, "automlClassificationConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.encode(message.automlClassificationConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) + if (message.automlObjectTrackingConfig != null && Object.hasOwnProperty.call(message, "automlObjectTrackingConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.encode(message.automlObjectTrackingConfig, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); - if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) + if (message.storageConfig != null && Object.hasOwnProperty.call(message, "storageConfig")) $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.encode(message.storageConfig, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); return writer; }; @@ -42544,7 +42544,7 @@ /** * Feature enum. * @name google.cloud.videointelligence.v1p3beta1.Feature - * @enum {string} + * @enum {number} * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value @@ -42576,7 +42576,7 @@ /** * LabelDetectionMode enum. * @name google.cloud.videointelligence.v1p3beta1.LabelDetectionMode - * @enum {string} + * @enum {number} * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value * @property {number} SHOT_MODE=1 SHOT_MODE value * @property {number} FRAME_MODE=2 FRAME_MODE value @@ -42594,7 +42594,7 @@ /** * Likelihood enum. * @name google.cloud.videointelligence.v1p3beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -42616,7 +42616,7 @@ /** * StreamingFeature enum. * @name google.cloud.videointelligence.v1p3beta1.StreamingFeature - * @enum {string} + * @enum {number} * @property {number} STREAMING_FEATURE_UNSPECIFIED=0 STREAMING_FEATURE_UNSPECIFIED value * @property {number} STREAMING_LABEL_DETECTION=1 STREAMING_LABEL_DETECTION value * @property {number} STREAMING_SHOT_CHANGE_DETECTION=2 STREAMING_SHOT_CHANGE_DETECTION value @@ -42724,7 +42724,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; }; @@ -43038,26 +43038,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; }; @@ -43414,9 +43414,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; }; @@ -43562,7 +43562,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 @@ -43963,9 +43963,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) @@ -43982,9 +43982,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) @@ -43992,7 +43992,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; }; @@ -44530,7 +44530,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) @@ -44547,7 +44547,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) @@ -45012,11 +45012,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; }; @@ -45240,9 +45240,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; }; @@ -45733,25 +45733,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; }; @@ -46098,7 +46098,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 @@ -46144,7 +46144,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 @@ -46225,9 +46225,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; }; @@ -46470,12 +46470,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) @@ -46778,9 +46778,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; }; @@ -47000,11 +47000,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; }; @@ -47238,12 +47238,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; }; @@ -47523,17 +47523,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; }; @@ -47962,45 +47962,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) @@ -48393,7 +48393,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 @@ -48502,13 +48502,13 @@ 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) @@ -48828,17 +48828,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) @@ -49167,7 +49167,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 @@ -49183,7 +49183,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 @@ -49482,9 +49482,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) @@ -49727,7 +49727,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) @@ -49976,14 +49976,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; }; @@ -50271,19 +50271,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; }; @@ -50533,7 +50533,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 @@ -50663,17 +50663,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; }; @@ -51450,9 +51450,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) @@ -51983,11 +51983,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; }; @@ -52240,9 +52240,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; }; @@ -52459,9 +52459,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; }; @@ -52843,9 +52843,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; }; @@ -53320,15 +53320,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; }; @@ -53588,7 +53588,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; }; @@ -53802,13 +53802,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; }; @@ -54042,7 +54042,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; }; @@ -54260,7 +54260,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; }; @@ -54447,7 +54447,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; }; @@ -54643,9 +54643,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; }; @@ -54858,9 +54858,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; }; @@ -55090,9 +55090,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) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 190810fc041..9872031845d 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "dfb36d2b24d32e6a8de41d4ecda9900de224b4d0" + "sha": "3b5ad804802d391c2e1d1e575b700d3d69391ef5" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bcc476396e799806d3355e87246c6becf6250a70", - "internalRef": "306974763" + "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", + "internalRef": "307114445" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "682c0c37d1054966ca662a44259e96cc7aea4413" + "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" } } ], From 17cf704ac0651979d9ba18327dadc201bfb6e17a Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 23 Apr 2020 19:32:26 -0700 Subject: [PATCH 285/418] chore: update npm scripts and synth.py (#433) 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-videointelligence/package.json | 5 +++-- packages/google-cloud-videointelligence/synth.py | 7 ++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 36d962bca40..3e5085e967f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -29,7 +29,7 @@ ], "scripts": { "docs": "jsdoc -c .jsdoc.js", - "lint": "gts fix", + "lint": "gts check", "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", "system-test": "c8 mocha build/system-test --timeout 600000", "test": "c8 mocha build/test", @@ -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-gax": "^2.1.0" diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 9269b663e90..6d5bc6c7bc7 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -1,7 +1,7 @@ import synthtool as s import synthtool.gcp as gcp +import synthtool.languages.node as node import logging -import subprocess logging.basicConfig(level=logging.DEBUG) @@ -30,7 +30,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", "lint"]) -subprocess.run(['npx', 'compileProtos', 'src']) +node.postprocess_gapic_library() From b867c70f44ccd7cc367370621076d05f02f20047 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 6 May 2020 00:40:50 -0700 Subject: [PATCH 286/418] feat: check status of long running operation by its name (#435) For each client method returning a long running operation, a separate method to check its status is added. Added methods: `checkAnnotateVideoProgress`. --- .../v1/video_intelligence_service_client.ts | 38 +++++++++- .../video_intelligence_service_client.ts | 38 +++++++++- .../video_intelligence_service_client.ts | 38 +++++++++- .../video_intelligence_service_client.ts | 38 +++++++++- .../video_intelligence_service_client.ts | 38 +++++++++- .../synth.metadata | 10 +-- ...ng_video_intelligence_service_v1p3beta1.ts | 4 +- .../gapic_video_intelligence_service_v1.ts | 70 +++++++++++++++++-- ...apic_video_intelligence_service_v1beta2.ts | 70 +++++++++++++++++-- ...ic_video_intelligence_service_v1p1beta1.ts | 70 +++++++++++++++++-- ...ic_video_intelligence_service_v1p2beta1.ts | 70 +++++++++++++++++-- ...ic_video_intelligence_service_v1p3beta1.ts | 70 +++++++++++++++++-- 12 files changed, 506 insertions(+), 48 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index a0f63e79ff3..9d18ffcda2f 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -430,6 +430,42 @@ export class VideoIntelligenceServiceClient { this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } + /** + * Check the status of the long running operation returned by the annotateVideo() 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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAnnotateVideoProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.videointelligence.v1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.AnnotateVideoProgress + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.annotateVideo, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.videointelligence.v1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.AnnotateVideoProgress + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 3164c9966cc..bd13e9c1d6b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -430,6 +430,42 @@ export class VideoIntelligenceServiceClient { this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } + /** + * Check the status of the long running operation returned by the annotateVideo() 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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAnnotateVideoProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.annotateVideo, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index d04ae34c088..2fb6488ee0f 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -430,6 +430,42 @@ export class VideoIntelligenceServiceClient { this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } + /** + * Check the status of the long running operation returned by the annotateVideo() 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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAnnotateVideoProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.annotateVideo, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index e6fbe3b7a0b..f69e54146c1 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -430,6 +430,42 @@ export class VideoIntelligenceServiceClient { this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } + /** + * Check the status of the long running operation returned by the annotateVideo() 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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAnnotateVideoProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.annotateVideo, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 4802282d683..3e19cac6675 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './video_intelligence_service_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -430,6 +430,42 @@ export class VideoIntelligenceServiceClient { this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } + /** + * Check the status of the long running operation returned by the annotateVideo() 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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAnnotateVideoProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.annotateVideo, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 9872031845d..d219007264d 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,23 +3,23 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "3b5ad804802d391c2e1d1e575b700d3d69391ef5" + "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "sha": "1c520fcba901d09902dc7f1fe73d150c8ddeee00" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", - "internalRef": "307114445" + "sha": "a3a0bf0f6291d69f2ff3df7fcd63d28ee20ac727", + "internalRef": "310060413" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" + "sha": "ab883569eb0257bbf16a6d825fd018b3adde3912" } } ], diff --git a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index 98a4c4f7b99..870447eae74 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts @@ -229,9 +229,7 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { stream.write(request); stream.end(); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.innerApiCalls.streamingAnnotateVideo as SinonStub) .getCall(0) diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index d977f013ade..4566c9546d4 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as videointelligenceserviceModule 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( @@ -35,6 +35,21 @@ function generateSampleMessage(instance: T) { ) 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, @@ -258,9 +273,7 @@ describe('v1.VideoIntelligenceServiceClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.annotateVideo(request); - }, expectedError); + await assert.rejects(client.annotateVideo(request), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) @@ -287,14 +300,57 @@ describe('v1.VideoIntelligenceServiceClient', () => { expectedError ); const [operation] = await client.annotateVideo(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAnnotateVideoProgress without error', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAnnotateVideoProgress with error', async () => { + const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index 3dd64d7d1a3..b1bb2769fa5 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as videointelligenceserviceModule 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( @@ -35,6 +35,21 @@ function generateSampleMessage(instance: T) { ) 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, @@ -259,9 +274,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.annotateVideo(request); - }, expectedError); + await assert.rejects(client.annotateVideo(request), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) @@ -288,14 +301,57 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { expectedError ); const [operation] = await client.annotateVideo(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAnnotateVideoProgress without error', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAnnotateVideoProgress with error', async () => { + const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index c1066c58109..fa35877752f 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as videointelligenceserviceModule 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( @@ -35,6 +35,21 @@ function generateSampleMessage(instance: T) { ) 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, @@ -259,9 +274,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.annotateVideo(request); - }, expectedError); + await assert.rejects(client.annotateVideo(request), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) @@ -288,14 +301,57 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { expectedError ); const [operation] = await client.annotateVideo(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAnnotateVideoProgress without error', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAnnotateVideoProgress with error', async () => { + const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index ad1941876d7..9e4d4c36ab9 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as videointelligenceserviceModule 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( @@ -35,6 +35,21 @@ function generateSampleMessage(instance: T) { ) 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, @@ -259,9 +274,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.annotateVideo(request); - }, expectedError); + await assert.rejects(client.annotateVideo(request), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) @@ -288,14 +301,57 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { expectedError ); const [operation] = await client.annotateVideo(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAnnotateVideoProgress without error', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAnnotateVideoProgress with error', async () => { + const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index 18d10b25d47..cf7ea8523fe 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as videointelligenceserviceModule 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( @@ -35,6 +35,21 @@ function generateSampleMessage(instance: T) { ) 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, @@ -259,9 +274,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.annotateVideo(request); - }, expectedError); + await assert.rejects(client.annotateVideo(request), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) @@ -288,14 +301,57 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { expectedError ); const [operation] = await client.annotateVideo(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.annotateVideo as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAnnotateVideoProgress without error', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAnnotateVideoProgress with error', async () => { + const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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.checkAnnotateVideoProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); From 2bbfcbbcee02f03e00909d3a613c426cbd6166e4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 18 May 2020 09:58:13 -0700 Subject: [PATCH 287/418] build: do not fail builds on codecov errors (#528) (#438) 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-videointelligence/synth.metadata | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index d219007264d..e19d0d57da1 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,8 +3,8 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", - "sha": "1c520fcba901d09902dc7f1fe73d150c8ddeee00" + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", + "sha": "be4793ebf71ce03c4855b9d3a29037070d11025e" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "ab883569eb0257bbf16a6d825fd018b3adde3912" + "sha": "be74d3e532faa47eb59f1a0eaebde0860d1d8ab4" } } ], From 9646d7c409742b2c4fbee0c2a8e31354759e49de Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 27 May 2020 15:03:52 -0700 Subject: [PATCH 288/418] feat(v1p3beta1): added support for streaming automl action recognition. (#439) PiperOrigin-RevId: 312101156 Source-Author: Google APIs Source-Date: Mon May 18 10:04:40 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: d1a9f02fd4fb263bae0383b4a5af0bbef33753d6 Source-Link: https://github.com/googleapis/googleapis/commit/d1a9f02fd4fb263bae0383b4a5af0bbef33753d6 --- .../v1p3beta1/video_intelligence.proto | 457 +-- .../protos/protos.d.ts | 863 +++--- .../protos/protos.js | 2546 +++++++++-------- .../protos/protos.json | 276 +- ...aming_video_intelligence_service_client.ts | 2 +- .../video_intelligence_service_client.ts | 31 +- .../synth.metadata | 6 +- 7 files changed, 2270 insertions(+), 1911 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 3d418e2ff64..6284e0db384 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -1,4 +1,4 @@ -// Copyright 2020 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"; @@ -32,7 +31,7 @@ option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p3beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; -// Service that implements Google Cloud Video Intelligence API. +// Service that implements the Video Intelligence API. service VideoIntelligenceService { option (google.api.default_host) = "videointelligence.googleapis.com"; option (google.api.oauth_scopes) = @@ -56,7 +55,7 @@ service VideoIntelligenceService { } } -// Service that implements streaming Google Cloud Video Intelligence API. +// Service that implements streaming Video Intelligence API. service StreamingVideoIntelligenceService { option (google.api.default_host) = "videointelligence.googleapis.com"; option (google.api.oauth_scopes) = @@ -72,20 +71,21 @@ service StreamingVideoIntelligenceService { // Video annotation request. message AnnotateVideoRequest { // Input video location. Currently, only - // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - // supported, which must be specified in the following format: + // [Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported. URIs must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - // URI may include wildcards in `object-id`, and thus identify multiple - // videos. Supported wildcards: '*' to match 0 or more characters; + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + // multiple videos, a video URI may include wildcards in the `object-id`. + // Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded - // in the request as `input_content`. If set, `input_content` should be unset. + // in the request as `input_content`. If set, `input_content` must be unset. string input_uri = 1; // The video data bytes. - // If unset, the input video(s) should be specified via `input_uri`. - // If set, `input_uri` should be unset. + // If unset, the input video(s) should be specified via the `input_uri`. + // If set, `input_uri` must be unset. bytes input_content = 6; // Required. Requested video annotation features. @@ -95,16 +95,18 @@ message AnnotateVideoRequest { VideoContext video_context = 3; // Optional. Location where the output (in JSON format) should be stored. - // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - // URIs are supported, which must be specified in the following format: + // Currently, only [Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported. These must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud - // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - // is specified, a region will be determined based on video file location. + // regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + // region is specified, the region will be determined based on video file + // location. string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } @@ -140,6 +142,42 @@ message VideoContext { ObjectTrackingConfig object_tracking_config = 13; } +// Label detection mode. +enum LabelDetectionMode { + // Unspecified. + LABEL_DETECTION_MODE_UNSPECIFIED = 0; + + // Detect shot-level labels. + SHOT_MODE = 1; + + // Detect frame-level labels. + FRAME_MODE = 2; + + // Detect both shot-level and frame-level labels. + SHOT_AND_FRAME_MODE = 3; +} + +// Bucketized representation of likelihood. +enum Likelihood { + // Unspecified likelihood. + LIKELIHOOD_UNSPECIFIED = 0; + + // Very unlikely. + VERY_UNLIKELY = 1; + + // Unlikely. + UNLIKELY = 2; + + // Possible. + POSSIBLE = 3; + + // Likely. + LIKELY = 4; + + // Very likely. + VERY_LIKELY = 5; +} + // Config for LABEL_DETECTION. message LabelDetectionConfig { // What labels should be detected with LABEL_DETECTION, in addition to @@ -147,9 +185,9 @@ message LabelDetectionConfig { // If unspecified, defaults to `SHOT_MODE`. LabelDetectionMode label_detection_mode = 1; - // Whether the video has been shot from a stationary (i.e. non-moving) camera. - // When set to true, might improve detection accuracy for moving objects. - // Should be used with `SHOT_AND_FRAME_MODE` enabled. + // Whether the video has been shot from a stationary (i.e., non-moving) + // camera. When set to true, might improve detection accuracy for moving + // objects. Should be used with `SHOT_AND_FRAME_MODE` enabled. bool stationary_camera = 2; // Model to use for label detection. @@ -161,19 +199,82 @@ message LabelDetectionConfig { // frame-level detection. If not set, it is set to 0.4 by default. The valid // range for this threshold is [0.1, 0.9]. Any value set outside of this // range will be clipped. - // Note: for best results please follow the default threshold. We will update + // Note: For best results, follow the default threshold. We will update // the default threshold everytime when we release a new model. float frame_confidence_threshold = 4; // The confidence threshold we perform filtering on the labels from - // video-level and shot-level detections. If not set, it is set to 0.3 by + // video-level and shot-level detections. If not set, it's set to 0.3 by // default. The valid range for this threshold is [0.1, 0.9]. Any value set // outside of this range will be clipped. - // Note: for best results please follow the default threshold. We will update + // Note: For best results, follow the default threshold. We will update // the default threshold everytime when we release a new model. float video_confidence_threshold = 5; } +// Streaming video annotation feature. +enum StreamingFeature { + // Unspecified. + STREAMING_FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + STREAMING_LABEL_DETECTION = 1; + + // Shot change detection. + STREAMING_SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + STREAMING_EXPLICIT_CONTENT_DETECTION = 3; + + // Object detection and tracking. + STREAMING_OBJECT_TRACKING = 4; + + // Action recognition based on AutoML model. + STREAMING_AUTOML_ACTION_RECOGNITION = 23; + + // Video classification based on AutoML model. + STREAMING_AUTOML_CLASSIFICATION = 21; + + // Object detection and tracking based on AutoML model. + STREAMING_AUTOML_OBJECT_TRACKING = 22; +} + +// Video annotation feature. +enum Feature { + // Unspecified. + FEATURE_UNSPECIFIED = 0; + + // Label detection. Detect objects, such as dog or flower. + LABEL_DETECTION = 1; + + // Shot change detection. + SHOT_CHANGE_DETECTION = 2; + + // Explicit content detection. + EXPLICIT_CONTENT_DETECTION = 3; + + // Human face detection. + FACE_DETECTION = 4; + + // Speech transcription. + SPEECH_TRANSCRIPTION = 6; + + // OCR text detection and tracking. + TEXT_DETECTION = 7; + + // Object detection and tracking. + OBJECT_TRACKING = 9; + + // Logo detection, tracking, and recognition. + LOGO_RECOGNITION = 12; + + // Celebrity recognition. + CELEBRITY_RECOGNITION = 13; + + // Person detection. + PERSON_DETECTION = 14; +} + // Config for SHOT_CHANGE_DETECTION. message ShotChangeDetectionConfig { // Model to use for shot change detection. @@ -205,28 +306,28 @@ message FaceDetectionConfig { // "builtin/latest". string model = 1; - // Whether bounding boxes be included in the face annotation output. + // Whether bounding boxes are included in the face annotation output. bool include_bounding_boxes = 2; // Whether to enable face attributes detection, such as glasses, dark_glasses, - // mouth_open etc. Ignored if 'include_bounding_boxes' is false. + // mouth_open etc. Ignored if 'include_bounding_boxes' is set to false. bool include_attributes = 5; } // Config for PERSON_DETECTION. message PersonDetectionConfig { - // Whether bounding boxes be included in the person detection annotation + // Whether bounding boxes are included in the person detection annotation // output. bool include_bounding_boxes = 1; // Whether to enable pose landmarks detection. Ignored if - // 'include_bounding_boxes' is false. + // 'include_bounding_boxes' is set to false. bool include_pose_landmarks = 2; // Whether to enable person attributes detection, such as cloth color (black, - // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair - // color (black, blonde, etc), hair length (long, short, bald), etc. - // Ignored if 'include_bounding_boxes' is false. + // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair, + // etc. + // Ignored if 'include_bounding_boxes' is set to false. bool include_attributes = 3; } @@ -282,7 +383,7 @@ message Entity { // API](https://developers.google.com/knowledge-graph/). string entity_id = 1; - // Textual description, e.g. `Fixed-gear bicycle`. + // Textual description, e.g., `Fixed-gear bicycle`. string description = 2; // Language code for `description` in BCP-47 format. @@ -295,9 +396,9 @@ message LabelAnnotation { Entity entity = 1; // Common categories for the detected entity. - // E.g. when the label is `Terrier` the category is likely `dog`. And in some - // cases there might be more than one categories e.g. `Terrier` could also be - // a `pet`. + // For example, when the label is `Terrier`, the category is likely `dog`. And + // in some cases there might be more than one categories e.g., `Terrier` could + // also be a `pet`. repeated Entity category_entities = 2; // All video segments where a label was detected. @@ -380,7 +481,7 @@ message Track { // A generic detected attribute represented by name in string format. message DetectedAttribute { - // The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + // The name of the attribute, for example, glasses, dark_glasses, mouth_open. // A full list of supported type names will be provided in the document. string name = 1; @@ -437,7 +538,7 @@ message CelebrityRecognitionAnnotation { // A generic detected landmark represented by name in string format and a 2D // location. message DetectedLandmark { - // The name of this landmark, i.e. left_hand, right_shoulder. + // The name of this landmark, for example, left_hand, right_shoulder. string name = 1; // The 2D point of the detected landmark using the normalized image @@ -459,24 +560,24 @@ message FaceDetectionAnnotation { // Person detection annotation per video. message PersonDetectionAnnotation { - // The trackes that a person is detected. + // The detected tracks of a person. repeated Track tracks = 1; } // Annotation results for a single video. message VideoAnnotationResults { // Video file location in - // [Google Cloud Storage](https://cloud.google.com/storage/). + // [Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; // Video segment on which the annotation is run. VideoSegment segment = 10; - // Topical label annotations on video level or user specified segment level. + // Topical label annotations on video level or user-specified segment level. // There is exactly one element for each unique label. repeated LabelAnnotation segment_label_annotations = 2; - // Presence label annotations on video level or user specified segment level. + // Presence label annotations on video level or user-specified segment level. // There is exactly one element for each unique label. Compared to the // existing topical `segment_label_annotations`, this field presents more // fine-grained, segment-level labels detected in video content and is made @@ -544,7 +645,7 @@ message AnnotateVideoResponse { // Annotation progress for a single video. message VideoAnnotationProgress { // Video file location in - // [Google Cloud Storage](https://cloud.google.com/storage/). + // [Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; // Approximate percentage processed thus far. Guaranteed to be @@ -558,11 +659,11 @@ message VideoAnnotationProgress { google.protobuf.Timestamp update_time = 4; // Specifies which feature is being tracked if the request contains more than - // one features. + // one feature. Feature feature = 5; // Specifies which segment is being tracked if the request contains more than - // one segments. + // one segment. VideoSegment segment = 6; } @@ -617,7 +718,7 @@ message SpeechTranscriptionConfig { // the top alternative of the recognition result using a speaker_tag provided // in the WordInfo. // Note: When this is true, we send all the words from the beginning of the - // audio for the top alternative in every consecutive responses. + // audio for the top alternative in every consecutive response. // This is done in order to improve our speaker tags as our models learn to // identify the speakers in the conversation over time. bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL]; @@ -673,8 +774,8 @@ message SpeechRecognitionAlternative { float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A list of word-specific information for each recognized word. - // Note: When `enable_speaker_diarization` is true, you will see all the words - // from the beginning of the audio. + // Note: When `enable_speaker_diarization` is set to true, you will see all + // the words from the beginning of the audio. repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } @@ -792,18 +893,6 @@ message ObjectTrackingFrame { // Annotations corresponding to one tracked object. message ObjectTrackingAnnotation { - // Entity to specify the object category that this track is labeled as. - Entity entity = 1; - - // Object category's labeling confidence of this track. - float confidence = 4; - - // Information corresponding to all frames where this object track appears. - // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame - // messages in frames. - // Streaming mode: it can only be one ObjectTrackingFrame message in frames. - repeated ObjectTrackingFrame frames = 2; - // Different representation of tracking info in non-streaming batch // and streaming modes. oneof track_info { @@ -819,6 +908,18 @@ message ObjectTrackingAnnotation { // ObjectTrackAnnotation of the same track_id over time. int64 track_id = 5; } + + // Entity to specify the object category that this track is labeled as. + Entity entity = 1; + + // Object category's labeling confidence of this track. + float confidence = 4; + + // Information corresponding to all frames where this object track appears. + // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame + // messages in frames. + // Streaming mode: it can only be one ObjectTrackingFrame message in frames. + repeated ObjectTrackingFrame frames = 2; } // Annotation corresponding to one detected, tracked and recognized logo class. @@ -860,95 +961,9 @@ message StreamingAnnotateVideoRequest { } } -// `StreamingAnnotateVideoResponse` is the only message returned to the client -// by `StreamingAnnotateVideo`. A series of zero or more -// `StreamingAnnotateVideoResponse` messages are streamed back to the client. -message StreamingAnnotateVideoResponse { - // If set, returns a [google.rpc.Status][google.rpc.Status] message that - // specifies the error for the operation. - google.rpc.Status error = 1; - - // Streaming annotation results. - StreamingVideoAnnotationResults annotation_results = 2; - - // GCS URI that stores annotation results of one streaming session. - // It is a directory that can hold multiple files in JSON format. - // Example uri format: - // gs://bucket_id/object_id/cloud_project_name-session_id - string annotation_results_uri = 3; -} - -// Config for STREAMING_AUTOML_CLASSIFICATION. -message StreamingAutomlClassificationConfig { - // Resource name of AutoML model. - // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` - string model_name = 1; -} - -// Config for STREAMING_AUTOML_OBJECT_TRACKING. -message StreamingAutomlObjectTrackingConfig { - // Resource name of AutoML model. - // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` - string model_name = 1; -} - -// Config for STREAMING_EXPLICIT_CONTENT_DETECTION. -message StreamingExplicitContentDetectionConfig {} - -// Config for STREAMING_LABEL_DETECTION. -message StreamingLabelDetectionConfig { - // Whether the video has been captured from a stationary (i.e. non-moving) - // camera. When set to true, might improve detection accuracy for moving - // objects. Default: false. - bool stationary_camera = 1; -} - -// Config for STREAMING_OBJECT_TRACKING. -message StreamingObjectTrackingConfig {} - -// Config for STREAMING_SHOT_CHANGE_DETECTION. -message StreamingShotChangeDetectionConfig {} - -// Config for streaming storage option. -message StreamingStorageConfig { - // Enable streaming storage. Default: false. - bool enable_storage_annotation_result = 1; - - // GCS URI to store all annotation results for one client. Client should - // specify this field as the top-level storage directory. Annotation results - // of different sessions will be put into different sub-directories denoted - // by project_name and session_id. All sub-directories will be auto generated - // by program and will be made accessible to client in response proto. - // URIs must be specified in the following format: `gs://bucket-id/object-id` - // `bucket-id` should be a valid GCS bucket created by client and bucket - // permission shall also be configured properly. `object-id` can be arbitrary - // string that make sense to client. Other URI formats will return error and - // cause GCS write failure. - string annotation_result_storage_directory = 3; -} - -// Streaming annotation results corresponding to a portion of the video -// that is currently being processed. -message StreamingVideoAnnotationResults { - // Shot annotation results. Each shot is represented as a video segment. - repeated VideoSegment shot_annotations = 1; - - // Label annotation results. - repeated LabelAnnotation label_annotations = 2; - - // Explicit content annotation results. - ExplicitContentAnnotation explicit_annotation = 3; - - // Object tracking results. - repeated ObjectTrackingAnnotation object_annotations = 4; -} - // Provides information to the annotator that specifies how to process the // request. message StreamingVideoConfig { - // Requested annotation feature. - StreamingFeature feature = 1; - // Config for requested annotation feature. oneof streaming_config { // Config for STREAMING_SHOT_CHANGE_DETECTION. @@ -964,6 +979,10 @@ message StreamingVideoConfig { // Config for STREAMING_OBJECT_TRACKING. StreamingObjectTrackingConfig object_tracking_config = 5; + // Config for STREAMING_AUTOML_ACTION_RECOGNITION. + StreamingAutomlActionRecognitionConfig automl_action_recognition_config = + 23; + // Config for STREAMING_AUTOML_CLASSIFICATION. StreamingAutomlClassificationConfig automl_classification_config = 21; @@ -971,102 +990,100 @@ message StreamingVideoConfig { StreamingAutomlObjectTrackingConfig automl_object_tracking_config = 22; } + // Requested annotation feature. + StreamingFeature feature = 1; + // Streaming storage option. By default: storage is disabled. StreamingStorageConfig storage_config = 30; } -// Video annotation feature. -enum Feature { - // Unspecified. - FEATURE_UNSPECIFIED = 0; - - // Label detection. Detect objects, such as dog or flower. - LABEL_DETECTION = 1; - - // Shot change detection. - SHOT_CHANGE_DETECTION = 2; - - // Explicit content detection. - EXPLICIT_CONTENT_DETECTION = 3; - - // Human face detection. - FACE_DETECTION = 4; - - // Speech transcription. - SPEECH_TRANSCRIPTION = 6; - - // OCR text detection and tracking. - TEXT_DETECTION = 7; - - // Object detection and tracking. - OBJECT_TRACKING = 9; - - // Logo detection, tracking, and recognition. - LOGO_RECOGNITION = 12; +// `StreamingAnnotateVideoResponse` is the only message returned to the client +// by `StreamingAnnotateVideo`. A series of zero or more +// `StreamingAnnotateVideoResponse` messages are streamed back to the client. +message StreamingAnnotateVideoResponse { + // If set, returns a [google.rpc.Status][google.rpc.Status] message that + // specifies the error for the operation. + google.rpc.Status error = 1; - // Celebrity recognition. - CELEBRITY_RECOGNITION = 13; + // Streaming annotation results. + StreamingVideoAnnotationResults annotation_results = 2; - // Person detection. - PERSON_DETECTION = 14; + // Google Cloud Storage(GCS) URI that stores annotation results of one + // streaming session in JSON format. + // It is the annotation_result_storage_directory + // from the request followed by '/cloud_project_number-session_id'. + string annotation_results_uri = 3; } -// Label detection mode. -enum LabelDetectionMode { - // Unspecified. - LABEL_DETECTION_MODE_UNSPECIFIED = 0; +// Streaming annotation results corresponding to a portion of the video +// that is currently being processed. +message StreamingVideoAnnotationResults { + // Shot annotation results. Each shot is represented as a video segment. + repeated VideoSegment shot_annotations = 1; - // Detect shot-level labels. - SHOT_MODE = 1; + // Label annotation results. + repeated LabelAnnotation label_annotations = 2; - // Detect frame-level labels. - FRAME_MODE = 2; + // Explicit content annotation results. + ExplicitContentAnnotation explicit_annotation = 3; - // Detect both shot-level and frame-level labels. - SHOT_AND_FRAME_MODE = 3; + // Object tracking results. + repeated ObjectTrackingAnnotation object_annotations = 4; } -// Bucketized representation of likelihood. -enum Likelihood { - // Unspecified likelihood. - LIKELIHOOD_UNSPECIFIED = 0; - - // Very unlikely. - VERY_UNLIKELY = 1; - - // Unlikely. - UNLIKELY = 2; - - // Possible. - POSSIBLE = 3; - - // Likely. - LIKELY = 4; +// Config for STREAMING_SHOT_CHANGE_DETECTION. +message StreamingShotChangeDetectionConfig {} - // Very likely. - VERY_LIKELY = 5; +// Config for STREAMING_LABEL_DETECTION. +message StreamingLabelDetectionConfig { + // Whether the video has been captured from a stationary (i.e. non-moving) + // camera. When set to true, might improve detection accuracy for moving + // objects. Default: false. + bool stationary_camera = 1; } -// Streaming video annotation feature. -enum StreamingFeature { - // Unspecified. - STREAMING_FEATURE_UNSPECIFIED = 0; +// Config for STREAMING_EXPLICIT_CONTENT_DETECTION. +message StreamingExplicitContentDetectionConfig {} - // Label detection. Detect objects, such as dog or flower. - STREAMING_LABEL_DETECTION = 1; +// Config for STREAMING_OBJECT_TRACKING. +message StreamingObjectTrackingConfig {} - // Shot change detection. - STREAMING_SHOT_CHANGE_DETECTION = 2; +// Config for STREAMING_AUTOML_ACTION_RECOGNITION. +message StreamingAutomlActionRecognitionConfig { + // Resource name of AutoML model. + // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + string model_name = 1; +} - // Explicit content detection. - STREAMING_EXPLICIT_CONTENT_DETECTION = 3; +// Config for STREAMING_AUTOML_CLASSIFICATION. +message StreamingAutomlClassificationConfig { + // Resource name of AutoML model. + // Format: + // `projects/{project_number}/locations/{location_id}/models/{model_id}` + string model_name = 1; +} - // Object detection and tracking. - STREAMING_OBJECT_TRACKING = 4; +// Config for STREAMING_AUTOML_OBJECT_TRACKING. +message StreamingAutomlObjectTrackingConfig { + // Resource name of AutoML model. + // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}` + string model_name = 1; +} - // Video classification based on AutoML model. - STREAMING_AUTOML_CLASSIFICATION = 21; +// Config for streaming storage option. +message StreamingStorageConfig { + // Enable streaming storage. Default: false. + bool enable_storage_annotation_result = 1; - // Object detection and tracking based on AutoML model. - STREAMING_AUTOML_OBJECT_TRACKING = 22; + // Cloud Storage URI to store all annotation results for one client. Client + // should specify this field as the top-level storage directory. Annotation + // results of different sessions will be put into different sub-directories + // denoted by project_name and session_id. All sub-directories will be auto + // generated by program and will be made accessible to client in response + // proto. URIs must be specified in the following format: + // `gs://bucket-id/object-id` `bucket-id` should be a valid Cloud Storage + // bucket created by client and bucket permission shall also be configured + // properly. `object-id` can be arbitrary string that make sense to client. + // Other URI formats will return error and cause Cloud Storage write failure. + string annotation_result_storage_directory = 3; } diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 202e9a8d51a..8bbdb5a7e7e 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -11564,6 +11564,24 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** LabelDetectionMode enum. */ + enum LabelDetectionMode { + LABEL_DETECTION_MODE_UNSPECIFIED = 0, + SHOT_MODE = 1, + FRAME_MODE = 2, + SHOT_AND_FRAME_MODE = 3 + } + + /** Likelihood enum. */ + enum Likelihood { + LIKELIHOOD_UNSPECIFIED = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + /** Properties of a LabelDetectionConfig. */ interface ILabelDetectionConfig { @@ -11678,6 +11696,33 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** StreamingFeature enum. */ + enum StreamingFeature { + STREAMING_FEATURE_UNSPECIFIED = 0, + STREAMING_LABEL_DETECTION = 1, + STREAMING_SHOT_CHANGE_DETECTION = 2, + STREAMING_EXPLICIT_CONTENT_DETECTION = 3, + STREAMING_OBJECT_TRACKING = 4, + STREAMING_AUTOML_ACTION_RECOGNITION = 23, + STREAMING_AUTOML_CLASSIFICATION = 21, + STREAMING_AUTOML_OBJECT_TRACKING = 22 + } + + /** Feature enum. */ + enum Feature { + FEATURE_UNSPECIFIED = 0, + LABEL_DETECTION = 1, + SHOT_CHANGE_DETECTION = 2, + EXPLICIT_CONTENT_DETECTION = 3, + FACE_DETECTION = 4, + SPEECH_TRANSCRIPTION = 6, + TEXT_DETECTION = 7, + OBJECT_TRACKING = 9, + LOGO_RECOGNITION = 12, + CELEBRITY_RECOGNITION = 13, + PERSON_DETECTION = 14 + } + /** Properties of a ShotChangeDetectionConfig. */ interface IShotChangeDetectionConfig { @@ -15638,6 +15683,12 @@ export namespace google { /** Properties of an ObjectTrackingAnnotation. */ interface IObjectTrackingAnnotation { + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId */ + trackId?: (number|Long|string|null); + /** ObjectTrackingAnnotation entity */ entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); @@ -15646,12 +15697,6 @@ export namespace google { /** ObjectTrackingAnnotation frames */ frames?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[]|null); - - /** ObjectTrackingAnnotation segment */ - segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); - - /** ObjectTrackingAnnotation trackId */ - trackId?: (number|Long|string|null); } /** Represents an ObjectTrackingAnnotation. */ @@ -15663,6 +15708,12 @@ export namespace google { */ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation); + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId. */ + public trackId: (number|Long|string); + /** ObjectTrackingAnnotation entity. */ public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); @@ -15672,12 +15723,6 @@ export namespace google { /** ObjectTrackingAnnotation frames. */ public frames: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[]; - /** ObjectTrackingAnnotation segment. */ - public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); - - /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long|string); - /** ObjectTrackingAnnotation trackInfo. */ public trackInfo?: ("segment"|"trackId"); @@ -15953,6 +15998,147 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a StreamingVideoConfig. */ + interface IStreamingVideoConfig { + + /** StreamingVideoConfig shotChangeDetectionConfig */ + shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); + + /** StreamingVideoConfig labelDetectionConfig */ + labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); + + /** StreamingVideoConfig explicitContentDetectionConfig */ + explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); + + /** StreamingVideoConfig objectTrackingConfig */ + objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); + + /** StreamingVideoConfig automlActionRecognitionConfig */ + automlActionRecognitionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null); + + /** StreamingVideoConfig automlClassificationConfig */ + automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); + + /** StreamingVideoConfig automlObjectTrackingConfig */ + automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + + /** StreamingVideoConfig feature */ + feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature|null); + + /** StreamingVideoConfig storageConfig */ + storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + } + + /** Represents a StreamingVideoConfig. */ + class StreamingVideoConfig implements IStreamingVideoConfig { + + /** + * Constructs a new StreamingVideoConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig); + + /** StreamingVideoConfig shotChangeDetectionConfig. */ + public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); + + /** StreamingVideoConfig labelDetectionConfig. */ + public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); + + /** StreamingVideoConfig explicitContentDetectionConfig. */ + public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); + + /** StreamingVideoConfig objectTrackingConfig. */ + public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); + + /** StreamingVideoConfig automlActionRecognitionConfig. */ + public automlActionRecognitionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null); + + /** StreamingVideoConfig automlClassificationConfig. */ + public automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); + + /** StreamingVideoConfig automlObjectTrackingConfig. */ + public automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + + /** StreamingVideoConfig feature. */ + public feature: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature); + + /** StreamingVideoConfig storageConfig. */ + public storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + + /** StreamingVideoConfig streamingConfig. */ + public streamingConfig?: ("shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlActionRecognitionConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"); + + /** + * Creates a new StreamingVideoConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns StreamingVideoConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @param message StreamingVideoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * @param message StreamingVideoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StreamingVideoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Verifies a StreamingVideoConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StreamingVideoConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + + /** + * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. + * @param message StreamingVideoConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StreamingVideoConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a StreamingAnnotateVideoResponse. */ interface IStreamingAnnotateVideoResponse { @@ -16055,355 +16241,367 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingAutomlClassificationConfig. */ - interface IStreamingAutomlClassificationConfig { + /** Properties of a StreamingVideoAnnotationResults. */ + interface IStreamingVideoAnnotationResults { - /** StreamingAutomlClassificationConfig modelName */ - modelName?: (string|null); + /** StreamingVideoAnnotationResults shotAnnotations */ + shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); + + /** StreamingVideoAnnotationResults labelAnnotations */ + labelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); + + /** StreamingVideoAnnotationResults explicitAnnotation */ + explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** StreamingVideoAnnotationResults objectAnnotations */ + objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null); } - /** Represents a StreamingAutomlClassificationConfig. */ - class StreamingAutomlClassificationConfig implements IStreamingAutomlClassificationConfig { + /** Represents a StreamingVideoAnnotationResults. */ + class StreamingVideoAnnotationResults implements IStreamingVideoAnnotationResults { /** - * Constructs a new StreamingAutomlClassificationConfig. + * Constructs a new StreamingVideoAnnotationResults. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig); + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults); - /** StreamingAutomlClassificationConfig modelName. */ - public modelName: string; + /** StreamingVideoAnnotationResults shotAnnotations. */ + public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; + + /** StreamingVideoAnnotationResults labelAnnotations. */ + public labelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; + + /** StreamingVideoAnnotationResults explicitAnnotation. */ + public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + + /** StreamingVideoAnnotationResults objectAnnotations. */ + public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]; /** - * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. + * Creates a new StreamingVideoAnnotationResults instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingAutomlClassificationConfig instance + * @returns StreamingVideoAnnotationResults instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; /** - * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. - * @param message StreamingAutomlClassificationConfig message or plain object to encode + * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @param message StreamingVideoAnnotationResults message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. - * @param message StreamingAutomlClassificationConfig message or plain object to encode + * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * @param message StreamingVideoAnnotationResults message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingAutomlClassificationConfig + * @returns StreamingVideoAnnotationResults * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; /** - * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingAutomlClassificationConfig + * @returns StreamingVideoAnnotationResults * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; /** - * Verifies a StreamingAutomlClassificationConfig message. + * Verifies a StreamingVideoAnnotationResults message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingAutomlClassificationConfig + * @returns StreamingVideoAnnotationResults */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; /** - * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. - * @param message StreamingAutomlClassificationConfig + * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. + * @param message StreamingVideoAnnotationResults * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingAutomlClassificationConfig to JSON. + * Converts this StreamingVideoAnnotationResults to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingAutomlObjectTrackingConfig. */ - interface IStreamingAutomlObjectTrackingConfig { - - /** StreamingAutomlObjectTrackingConfig modelName */ - modelName?: (string|null); + /** Properties of a StreamingShotChangeDetectionConfig. */ + interface IStreamingShotChangeDetectionConfig { } - /** Represents a StreamingAutomlObjectTrackingConfig. */ - class StreamingAutomlObjectTrackingConfig implements IStreamingAutomlObjectTrackingConfig { + /** Represents a StreamingShotChangeDetectionConfig. */ + class StreamingShotChangeDetectionConfig implements IStreamingShotChangeDetectionConfig { /** - * Constructs a new StreamingAutomlObjectTrackingConfig. + * Constructs a new StreamingShotChangeDetectionConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig); - - /** StreamingAutomlObjectTrackingConfig modelName. */ - public modelName: string; + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig); /** - * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. + * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingAutomlObjectTrackingConfig instance + * @returns StreamingShotChangeDetectionConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; /** - * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. - * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode + * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @param message StreamingShotChangeDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. - * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode + * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * @param message StreamingShotChangeDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingAutomlObjectTrackingConfig + * @returns StreamingShotChangeDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; /** - * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingAutomlObjectTrackingConfig + * @returns StreamingShotChangeDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; /** - * Verifies a StreamingAutomlObjectTrackingConfig message. + * Verifies a StreamingShotChangeDetectionConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingAutomlObjectTrackingConfig + * @returns StreamingShotChangeDetectionConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; /** - * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. - * @param message StreamingAutomlObjectTrackingConfig + * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingShotChangeDetectionConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingAutomlObjectTrackingConfig to JSON. + * Converts this StreamingShotChangeDetectionConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingExplicitContentDetectionConfig. */ - interface IStreamingExplicitContentDetectionConfig { + /** Properties of a StreamingLabelDetectionConfig. */ + interface IStreamingLabelDetectionConfig { + + /** StreamingLabelDetectionConfig stationaryCamera */ + stationaryCamera?: (boolean|null); } - /** Represents a StreamingExplicitContentDetectionConfig. */ - class StreamingExplicitContentDetectionConfig implements IStreamingExplicitContentDetectionConfig { + /** Represents a StreamingLabelDetectionConfig. */ + class StreamingLabelDetectionConfig implements IStreamingLabelDetectionConfig { /** - * Constructs a new StreamingExplicitContentDetectionConfig. + * Constructs a new StreamingLabelDetectionConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig); + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig); + + /** StreamingLabelDetectionConfig stationaryCamera. */ + public stationaryCamera: boolean; /** - * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties. + * Creates a new StreamingLabelDetectionConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingExplicitContentDetectionConfig instance + * @returns StreamingLabelDetectionConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; /** - * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. - * @param message StreamingExplicitContentDetectionConfig message or plain object to encode + * Encodes the specified StreamingLabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @param message StreamingLabelDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. - * @param message StreamingExplicitContentDetectionConfig message or plain object to encode + * Encodes the specified StreamingLabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. + * @param message StreamingLabelDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingExplicitContentDetectionConfig + * @returns StreamingLabelDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; /** - * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingExplicitContentDetectionConfig + * @returns StreamingLabelDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; /** - * Verifies a StreamingExplicitContentDetectionConfig message. + * Verifies a StreamingLabelDetectionConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingLabelDetectionConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingExplicitContentDetectionConfig + * @returns StreamingLabelDetectionConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; /** - * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. - * @param message StreamingExplicitContentDetectionConfig + * Creates a plain object from a StreamingLabelDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingLabelDetectionConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingExplicitContentDetectionConfig to JSON. + * Converts this StreamingLabelDetectionConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingLabelDetectionConfig. */ - interface IStreamingLabelDetectionConfig { - - /** StreamingLabelDetectionConfig stationaryCamera */ - stationaryCamera?: (boolean|null); + /** Properties of a StreamingExplicitContentDetectionConfig. */ + interface IStreamingExplicitContentDetectionConfig { } - /** Represents a StreamingLabelDetectionConfig. */ - class StreamingLabelDetectionConfig implements IStreamingLabelDetectionConfig { + /** Represents a StreamingExplicitContentDetectionConfig. */ + class StreamingExplicitContentDetectionConfig implements IStreamingExplicitContentDetectionConfig { /** - * Constructs a new StreamingLabelDetectionConfig. + * Constructs a new StreamingExplicitContentDetectionConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig); - - /** StreamingLabelDetectionConfig stationaryCamera. */ - public stationaryCamera: boolean; + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig); /** - * Creates a new StreamingLabelDetectionConfig instance using the specified properties. + * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingLabelDetectionConfig instance + * @returns StreamingExplicitContentDetectionConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; /** - * Encodes the specified StreamingLabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. - * @param message StreamingLabelDetectionConfig message or plain object to encode + * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @param message StreamingExplicitContentDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingLabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages. - * @param message StreamingLabelDetectionConfig message or plain object to encode + * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * @param message StreamingExplicitContentDetectionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer. + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingLabelDetectionConfig + * @returns StreamingExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; /** - * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingLabelDetectionConfig + * @returns StreamingExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; /** - * Verifies a StreamingLabelDetectionConfig message. + * Verifies a StreamingExplicitContentDetectionConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingLabelDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingLabelDetectionConfig + * @returns StreamingExplicitContentDetectionConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig; /** - * Creates a plain object from a StreamingLabelDetectionConfig message. Also converts values to other types if specified. - * @param message StreamingLabelDetectionConfig + * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. + * @param message StreamingExplicitContentDetectionConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingLabelDetectionConfig to JSON. + * Converts this StreamingExplicitContentDetectionConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; @@ -16493,472 +16691,371 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingShotChangeDetectionConfig. */ - interface IStreamingShotChangeDetectionConfig { + /** Properties of a StreamingAutomlActionRecognitionConfig. */ + interface IStreamingAutomlActionRecognitionConfig { + + /** StreamingAutomlActionRecognitionConfig modelName */ + modelName?: (string|null); } - /** Represents a StreamingShotChangeDetectionConfig. */ - class StreamingShotChangeDetectionConfig implements IStreamingShotChangeDetectionConfig { + /** Represents a StreamingAutomlActionRecognitionConfig. */ + class StreamingAutomlActionRecognitionConfig implements IStreamingAutomlActionRecognitionConfig { /** - * Constructs a new StreamingShotChangeDetectionConfig. + * Constructs a new StreamingAutomlActionRecognitionConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig); + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig); + + /** StreamingAutomlActionRecognitionConfig modelName. */ + public modelName: string; /** - * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties. + * Creates a new StreamingAutomlActionRecognitionConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingShotChangeDetectionConfig instance + * @returns StreamingAutomlActionRecognitionConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig; /** - * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. - * @param message StreamingShotChangeDetectionConfig message or plain object to encode + * Encodes the specified StreamingAutomlActionRecognitionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages. + * @param message StreamingAutomlActionRecognitionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. - * @param message StreamingShotChangeDetectionConfig message or plain object to encode + * Encodes the specified StreamingAutomlActionRecognitionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages. + * @param message StreamingAutomlActionRecognitionConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. + * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingShotChangeDetectionConfig + * @returns StreamingAutomlActionRecognitionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig; /** - * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingShotChangeDetectionConfig + * @returns StreamingAutomlActionRecognitionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig; /** - * Verifies a StreamingShotChangeDetectionConfig message. + * Verifies a StreamingAutomlActionRecognitionConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlActionRecognitionConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingShotChangeDetectionConfig + * @returns StreamingAutomlActionRecognitionConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig; /** - * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. - * @param message StreamingShotChangeDetectionConfig + * Creates a plain object from a StreamingAutomlActionRecognitionConfig message. Also converts values to other types if specified. + * @param message StreamingAutomlActionRecognitionConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingShotChangeDetectionConfig to JSON. + * Converts this StreamingAutomlActionRecognitionConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingStorageConfig. */ - interface IStreamingStorageConfig { - - /** StreamingStorageConfig enableStorageAnnotationResult */ - enableStorageAnnotationResult?: (boolean|null); + /** Properties of a StreamingAutomlClassificationConfig. */ + interface IStreamingAutomlClassificationConfig { - /** StreamingStorageConfig annotationResultStorageDirectory */ - annotationResultStorageDirectory?: (string|null); + /** StreamingAutomlClassificationConfig modelName */ + modelName?: (string|null); } - /** Represents a StreamingStorageConfig. */ - class StreamingStorageConfig implements IStreamingStorageConfig { + /** Represents a StreamingAutomlClassificationConfig. */ + class StreamingAutomlClassificationConfig implements IStreamingAutomlClassificationConfig { /** - * Constructs a new StreamingStorageConfig. + * Constructs a new StreamingAutomlClassificationConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig); - - /** StreamingStorageConfig enableStorageAnnotationResult. */ - public enableStorageAnnotationResult: boolean; + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig); - /** StreamingStorageConfig annotationResultStorageDirectory. */ - public annotationResultStorageDirectory: string; + /** StreamingAutomlClassificationConfig modelName. */ + public modelName: string; /** - * Creates a new StreamingStorageConfig instance using the specified properties. + * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingStorageConfig instance + * @returns StreamingAutomlClassificationConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; /** - * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. - * @param message StreamingStorageConfig message or plain object to encode + * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @param message StreamingAutomlClassificationConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. - * @param message StreamingStorageConfig message or plain object to encode + * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * @param message StreamingAutomlClassificationConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingStorageConfig message from the specified reader or buffer. + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingStorageConfig + * @returns StreamingAutomlClassificationConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; /** - * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingStorageConfig + * @returns StreamingAutomlClassificationConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; /** - * Verifies a StreamingStorageConfig message. + * Verifies a StreamingAutomlClassificationConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingStorageConfig + * @returns StreamingAutomlClassificationConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig; /** - * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. - * @param message StreamingStorageConfig + * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. + * @param message StreamingAutomlClassificationConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingStorageConfig to JSON. + * Converts this StreamingAutomlClassificationConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingVideoAnnotationResults. */ - interface IStreamingVideoAnnotationResults { - - /** StreamingVideoAnnotationResults shotAnnotations */ - shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null); - - /** StreamingVideoAnnotationResults labelAnnotations */ - labelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null); - - /** StreamingVideoAnnotationResults explicitAnnotation */ - explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + /** Properties of a StreamingAutomlObjectTrackingConfig. */ + interface IStreamingAutomlObjectTrackingConfig { - /** StreamingVideoAnnotationResults objectAnnotations */ - objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null); + /** StreamingAutomlObjectTrackingConfig modelName */ + modelName?: (string|null); } - /** Represents a StreamingVideoAnnotationResults. */ - class StreamingVideoAnnotationResults implements IStreamingVideoAnnotationResults { + /** Represents a StreamingAutomlObjectTrackingConfig. */ + class StreamingAutomlObjectTrackingConfig implements IStreamingAutomlObjectTrackingConfig { /** - * Constructs a new StreamingVideoAnnotationResults. + * Constructs a new StreamingAutomlObjectTrackingConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults); - - /** StreamingVideoAnnotationResults shotAnnotations. */ - public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[]; - - /** StreamingVideoAnnotationResults labelAnnotations. */ - public labelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]; - - /** StreamingVideoAnnotationResults explicitAnnotation. */ - public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null); + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig); - /** StreamingVideoAnnotationResults objectAnnotations. */ - public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]; + /** StreamingAutomlObjectTrackingConfig modelName. */ + public modelName: string; /** - * Creates a new StreamingVideoAnnotationResults instance using the specified properties. + * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingVideoAnnotationResults instance + * @returns StreamingAutomlObjectTrackingConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; /** - * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. - * @param message StreamingVideoAnnotationResults message or plain object to encode + * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. - * @param message StreamingVideoAnnotationResults message or plain object to encode + * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingVideoAnnotationResults + * @returns StreamingAutomlObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; /** - * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingVideoAnnotationResults + * @returns StreamingAutomlObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; /** - * Verifies a StreamingVideoAnnotationResults message. + * Verifies a StreamingAutomlObjectTrackingConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingVideoAnnotationResults + * @returns StreamingAutomlObjectTrackingConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig; /** - * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. - * @param message StreamingVideoAnnotationResults + * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. + * @param message StreamingAutomlObjectTrackingConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingVideoAnnotationResults to JSON. + * Converts this StreamingAutomlObjectTrackingConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a StreamingVideoConfig. */ - interface IStreamingVideoConfig { - - /** StreamingVideoConfig feature */ - feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature|null); - - /** StreamingVideoConfig shotChangeDetectionConfig */ - shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); - - /** StreamingVideoConfig labelDetectionConfig */ - labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); - - /** StreamingVideoConfig explicitContentDetectionConfig */ - explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); - - /** StreamingVideoConfig objectTrackingConfig */ - objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); - - /** StreamingVideoConfig automlClassificationConfig */ - automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); + /** Properties of a StreamingStorageConfig. */ + interface IStreamingStorageConfig { - /** StreamingVideoConfig automlObjectTrackingConfig */ - automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + /** StreamingStorageConfig enableStorageAnnotationResult */ + enableStorageAnnotationResult?: (boolean|null); - /** StreamingVideoConfig storageConfig */ - storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + /** StreamingStorageConfig annotationResultStorageDirectory */ + annotationResultStorageDirectory?: (string|null); } - /** Represents a StreamingVideoConfig. */ - class StreamingVideoConfig implements IStreamingVideoConfig { + /** Represents a StreamingStorageConfig. */ + class StreamingStorageConfig implements IStreamingStorageConfig { /** - * Constructs a new StreamingVideoConfig. + * Constructs a new StreamingStorageConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig); - - /** StreamingVideoConfig feature. */ - public feature: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature); - - /** StreamingVideoConfig shotChangeDetectionConfig. */ - public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null); - - /** StreamingVideoConfig labelDetectionConfig. */ - public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null); - - /** StreamingVideoConfig explicitContentDetectionConfig. */ - public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null); - - /** StreamingVideoConfig objectTrackingConfig. */ - public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null); - - /** StreamingVideoConfig automlClassificationConfig. */ - public automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null); - - /** StreamingVideoConfig automlObjectTrackingConfig. */ - public automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null); + constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig); - /** StreamingVideoConfig storageConfig. */ - public storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null); + /** StreamingStorageConfig enableStorageAnnotationResult. */ + public enableStorageAnnotationResult: boolean; - /** StreamingVideoConfig streamingConfig. */ - public streamingConfig?: ("shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"); + /** StreamingStorageConfig annotationResultStorageDirectory. */ + public annotationResultStorageDirectory: string; /** - * Creates a new StreamingVideoConfig instance using the specified properties. + * Creates a new StreamingStorageConfig instance using the specified properties. * @param [properties] Properties to set - * @returns StreamingVideoConfig instance + * @returns StreamingStorageConfig instance */ - public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; /** - * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. - * @param message StreamingVideoConfig message or plain object to encode + * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @param message StreamingStorageConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. - * @param message StreamingVideoConfig message or plain object to encode + * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @param message StreamingStorageConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a StreamingVideoConfig message from the specified reader or buffer. + * Decodes a StreamingStorageConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns StreamingVideoConfig + * @returns StreamingStorageConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; /** - * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns StreamingVideoConfig + * @returns StreamingStorageConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; /** - * Verifies a StreamingVideoConfig message. + * Verifies a StreamingStorageConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns StreamingVideoConfig + * @returns StreamingStorageConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig; /** - * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. - * @param message StreamingVideoConfig + * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. + * @param message StreamingStorageConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this StreamingVideoConfig to JSON. + * Converts this StreamingStorageConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - - /** Feature enum. */ - enum Feature { - FEATURE_UNSPECIFIED = 0, - LABEL_DETECTION = 1, - SHOT_CHANGE_DETECTION = 2, - EXPLICIT_CONTENT_DETECTION = 3, - FACE_DETECTION = 4, - SPEECH_TRANSCRIPTION = 6, - TEXT_DETECTION = 7, - OBJECT_TRACKING = 9, - LOGO_RECOGNITION = 12, - CELEBRITY_RECOGNITION = 13, - PERSON_DETECTION = 14 - } - - /** LabelDetectionMode enum. */ - enum LabelDetectionMode { - LABEL_DETECTION_MODE_UNSPECIFIED = 0, - SHOT_MODE = 1, - FRAME_MODE = 2, - SHOT_AND_FRAME_MODE = 3 - } - - /** Likelihood enum. */ - enum Likelihood { - LIKELIHOOD_UNSPECIFIED = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } - - /** StreamingFeature enum. */ - enum StreamingFeature { - STREAMING_FEATURE_UNSPECIFIED = 0, - STREAMING_LABEL_DETECTION = 1, - STREAMING_SHOT_CHANGE_DETECTION = 2, - STREAMING_EXPLICIT_CONTENT_DETECTION = 3, - STREAMING_OBJECT_TRACKING = 4, - STREAMING_AUTOML_CLASSIFICATION = 21, - STREAMING_AUTOML_OBJECT_TRACKING = 22 - } } } } diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 3cf0308f821..68db7eeaf67 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -29171,6 +29171,46 @@ return VideoContext; })(); + /** + * LabelDetectionMode enum. + * @name google.cloud.videointelligence.v1p3beta1.LabelDetectionMode + * @enum {number} + * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value + * @property {number} SHOT_MODE=1 SHOT_MODE value + * @property {number} FRAME_MODE=2 FRAME_MODE value + * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value + */ + v1p3beta1.LabelDetectionMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOT_MODE"] = 1; + values[valuesById[2] = "FRAME_MODE"] = 2; + values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; + return values; + })(); + + /** + * Likelihood enum. + * @name google.cloud.videointelligence.v1p3beta1.Likelihood + * @enum {number} + * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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.LabelDetectionConfig = (function() { /** @@ -29470,6 +29510,64 @@ return LabelDetectionConfig; })(); + /** + * StreamingFeature enum. + * @name google.cloud.videointelligence.v1p3beta1.StreamingFeature + * @enum {number} + * @property {number} STREAMING_FEATURE_UNSPECIFIED=0 STREAMING_FEATURE_UNSPECIFIED value + * @property {number} STREAMING_LABEL_DETECTION=1 STREAMING_LABEL_DETECTION value + * @property {number} STREAMING_SHOT_CHANGE_DETECTION=2 STREAMING_SHOT_CHANGE_DETECTION value + * @property {number} STREAMING_EXPLICIT_CONTENT_DETECTION=3 STREAMING_EXPLICIT_CONTENT_DETECTION value + * @property {number} STREAMING_OBJECT_TRACKING=4 STREAMING_OBJECT_TRACKING value + * @property {number} STREAMING_AUTOML_ACTION_RECOGNITION=23 STREAMING_AUTOML_ACTION_RECOGNITION value + * @property {number} STREAMING_AUTOML_CLASSIFICATION=21 STREAMING_AUTOML_CLASSIFICATION value + * @property {number} STREAMING_AUTOML_OBJECT_TRACKING=22 STREAMING_AUTOML_OBJECT_TRACKING value + */ + v1p3beta1.StreamingFeature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STREAMING_FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "STREAMING_LABEL_DETECTION"] = 1; + values[valuesById[2] = "STREAMING_SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "STREAMING_EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "STREAMING_OBJECT_TRACKING"] = 4; + values[valuesById[23] = "STREAMING_AUTOML_ACTION_RECOGNITION"] = 23; + values[valuesById[21] = "STREAMING_AUTOML_CLASSIFICATION"] = 21; + values[valuesById[22] = "STREAMING_AUTOML_OBJECT_TRACKING"] = 22; + return values; + })(); + + /** + * Feature enum. + * @name google.cloud.videointelligence.v1p3beta1.Feature + * @enum {number} + * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value + * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value + * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value + * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value + * @property {number} FACE_DETECTION=4 FACE_DETECTION value + * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value + * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value + * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value + * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value + * @property {number} CELEBRITY_RECOGNITION=13 CELEBRITY_RECOGNITION value + * @property {number} PERSON_DETECTION=14 PERSON_DETECTION value + */ + v1p3beta1.Feature = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; + values[valuesById[1] = "LABEL_DETECTION"] = 1; + values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; + values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; + values[valuesById[4] = "FACE_DETECTION"] = 4; + values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; + values[valuesById[7] = "TEXT_DETECTION"] = 7; + values[valuesById[9] = "OBJECT_TRACKING"] = 9; + values[valuesById[12] = "LOGO_RECOGNITION"] = 12; + values[valuesById[13] = "CELEBRITY_RECOGNITION"] = 13; + values[valuesById[14] = "PERSON_DETECTION"] = 14; + return values; + })(); + v1p3beta1.ShotChangeDetectionConfig = (function() { /** @@ -39395,11 +39493,11 @@ * Properties of an ObjectTrackingAnnotation. * @memberof google.cloud.videointelligence.v1p3beta1 * @interface IObjectTrackingAnnotation + * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment + * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId * @property {google.cloud.videointelligence.v1p3beta1.IEntity|null} [entity] ObjectTrackingAnnotation entity * @property {number|null} [confidence] ObjectTrackingAnnotation confidence * @property {Array.|null} [frames] ObjectTrackingAnnotation frames - * @property {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment - * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId */ /** @@ -39419,44 +39517,44 @@ } /** - * ObjectTrackingAnnotation entity. - * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity + * ObjectTrackingAnnotation segment. + * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.entity = null; + ObjectTrackingAnnotation.prototype.segment = null; /** - * ObjectTrackingAnnotation confidence. - * @member {number} confidence + * ObjectTrackingAnnotation trackId. + * @member {number|Long} trackId * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.confidence = 0; + ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * ObjectTrackingAnnotation frames. - * @member {Array.} frames + * ObjectTrackingAnnotation entity. + * @member {google.cloud.videointelligence.v1p3beta1.IEntity|null|undefined} entity * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + ObjectTrackingAnnotation.prototype.entity = null; /** - * ObjectTrackingAnnotation segment. - * @member {google.cloud.videointelligence.v1p3beta1.IVideoSegment|null|undefined} segment + * ObjectTrackingAnnotation confidence. + * @member {number} confidence * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.segment = null; + ObjectTrackingAnnotation.prototype.confidence = 0; /** - * ObjectTrackingAnnotation trackId. - * @member {number|Long} trackId + * ObjectTrackingAnnotation frames. + * @member {Array.} frames * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -39541,6 +39639,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 3: + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 5: + message.trackId = reader.int64(); + break; case 1: message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); break; @@ -39552,12 +39656,6 @@ message.frames = []; message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); break; - case 3: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 5: - message.trackId = reader.int64(); - break; default: reader.skipType(tag & 7); break; @@ -39594,6 +39692,21 @@ if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; + if (message.segment != null && message.hasOwnProperty("segment")) { + properties.trackInfo = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + } + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (properties.trackInfo === 1) + return "trackInfo: multiple values"; + properties.trackInfo = 1; + if (!$util.isInteger(message.trackId) && !(message.trackId && $util.isInteger(message.trackId.low) && $util.isInteger(message.trackId.high))) + return "trackId: integer|Long expected"; + } if (message.entity != null && message.hasOwnProperty("entity")) { var error = $root.google.cloud.videointelligence.v1p3beta1.Entity.verify(message.entity); if (error) @@ -39611,21 +39724,6 @@ return "frames." + error; } } - if (message.segment != null && message.hasOwnProperty("segment")) { - properties.trackInfo = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.segment); - if (error) - return "segment." + error; - } - } - if (message.trackId != null && message.hasOwnProperty("trackId")) { - if (properties.trackInfo === 1) - return "trackInfo: multiple values"; - properties.trackInfo = 1; - if (!$util.isInteger(message.trackId) && !(message.trackId && $util.isInteger(message.trackId.low) && $util.isInteger(message.trackId.high))) - return "trackId: integer|Long expected"; - } return null; }; @@ -39641,6 +39739,20 @@ if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation) return object; var message = new $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); + } + if (object.trackId != null) + if ($util.Long) + (message.trackId = $util.Long.fromValue(object.trackId)).unsigned = false; + else if (typeof object.trackId === "string") + message.trackId = parseInt(object.trackId, 10); + else if (typeof object.trackId === "number") + message.trackId = object.trackId; + else if (typeof object.trackId === "object") + message.trackId = new $util.LongBits(object.trackId.low >>> 0, object.trackId.high >>> 0).toNumber(); if (object.entity != null) { if (typeof object.entity !== "object") throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.entity: object expected"); @@ -39658,20 +39770,6 @@ message.frames[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.fromObject(object.frames[i]); } } - if (object.segment != null) { - if (typeof object.segment !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.segment: object expected"); - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.segment); - } - if (object.trackId != null) - if ($util.Long) - (message.trackId = $util.Long.fromValue(object.trackId)).unsigned = false; - else if (typeof object.trackId === "string") - message.trackId = parseInt(object.trackId, 10); - else if (typeof object.trackId === "number") - message.trackId = object.trackId; - else if (typeof object.trackId === "object") - message.trackId = new $util.LongBits(object.trackId.low >>> 0, object.trackId.high >>> 0).toNumber(); return message; }; @@ -40255,26 +40353,32 @@ return StreamingAnnotateVideoRequest; })(); - v1p3beta1.StreamingAnnotateVideoResponse = (function() { + v1p3beta1.StreamingVideoConfig = (function() { /** - * Properties of a StreamingAnnotateVideoResponse. + * Properties of a StreamingVideoConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingAnnotateVideoResponse - * @property {google.rpc.IStatus|null} [error] StreamingAnnotateVideoResponse error - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null} [annotationResults] StreamingAnnotateVideoResponse annotationResults - * @property {string|null} [annotationResultsUri] StreamingAnnotateVideoResponse annotationResultsUri + * @interface IStreamingVideoConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null} [shotChangeDetectionConfig] StreamingVideoConfig shotChangeDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null} [labelDetectionConfig] StreamingVideoConfig labelDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] StreamingVideoConfig explicitContentDetectionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null} [objectTrackingConfig] StreamingVideoConfig objectTrackingConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null} [automlActionRecognitionConfig] StreamingVideoConfig automlActionRecognitionConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null} [automlClassificationConfig] StreamingVideoConfig automlClassificationConfig + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null} [automlObjectTrackingConfig] StreamingVideoConfig automlObjectTrackingConfig + * @property {google.cloud.videointelligence.v1p3beta1.StreamingFeature|null} [feature] StreamingVideoConfig feature + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null} [storageConfig] StreamingVideoConfig storageConfig */ /** - * Constructs a new StreamingAnnotateVideoResponse. + * Constructs a new StreamingVideoConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingAnnotateVideoResponse. - * @implements IStreamingAnnotateVideoResponse + * @classdesc Represents a StreamingVideoConfig. + * @implements IStreamingVideoConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set */ - function StreamingAnnotateVideoResponse(properties) { + function StreamingVideoConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40282,101 +40386,193 @@ } /** - * StreamingAnnotateVideoResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * StreamingVideoConfig shotChangeDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @instance */ - StreamingAnnotateVideoResponse.prototype.error = null; + StreamingVideoConfig.prototype.shotChangeDetectionConfig = null; /** - * StreamingAnnotateVideoResponse annotationResults. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null|undefined} annotationResults - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * StreamingVideoConfig labelDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null|undefined} labelDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @instance */ - StreamingAnnotateVideoResponse.prototype.annotationResults = null; + StreamingVideoConfig.prototype.labelDetectionConfig = null; /** - * StreamingAnnotateVideoResponse annotationResultsUri. - * @member {string} annotationResultsUri - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * StreamingVideoConfig explicitContentDetectionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @instance */ - StreamingAnnotateVideoResponse.prototype.annotationResultsUri = ""; + StreamingVideoConfig.prototype.explicitContentDetectionConfig = null; /** - * Creates a new StreamingAnnotateVideoResponse instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse - * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse instance + * StreamingVideoConfig objectTrackingConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null|undefined} objectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance */ - StreamingAnnotateVideoResponse.create = function create(properties) { - return new StreamingAnnotateVideoResponse(properties); + StreamingVideoConfig.prototype.objectTrackingConfig = null; + + /** + * StreamingVideoConfig automlActionRecognitionConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null|undefined} automlActionRecognitionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.automlActionRecognitionConfig = null; + + /** + * StreamingVideoConfig automlClassificationConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null|undefined} automlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.automlClassificationConfig = null; + + /** + * StreamingVideoConfig automlObjectTrackingConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null|undefined} automlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.automlObjectTrackingConfig = null; + + /** + * StreamingVideoConfig feature. + * @member {google.cloud.videointelligence.v1p3beta1.StreamingFeature} feature + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.feature = 0; + + /** + * StreamingVideoConfig storageConfig. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null|undefined} storageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + StreamingVideoConfig.prototype.storageConfig = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * StreamingVideoConfig streamingConfig. + * @member {"shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlActionRecognitionConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"|undefined} streamingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @instance + */ + Object.defineProperty(StreamingVideoConfig.prototype, "streamingConfig", { + get: $util.oneOfGetter($oneOfFields = ["shotChangeDetectionConfig", "labelDetectionConfig", "explicitContentDetectionConfig", "objectTrackingConfig", "automlActionRecognitionConfig", "automlClassificationConfig", "automlObjectTrackingConfig"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new StreamingVideoConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig instance + */ + StreamingVideoConfig.create = function create(properties) { + return new StreamingVideoConfig(properties); }; /** - * Encodes the specified StreamingAnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAnnotateVideoResponse.encode = function encode(message, writer) { + StreamingVideoConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.annotationResults != null && Object.hasOwnProperty.call(message, "annotationResults")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.encode(message.annotationResults, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.annotationResultsUri != null && Object.hasOwnProperty.call(message, "annotationResultsUri")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultsUri); + if (message.feature != null && Object.hasOwnProperty.call(message, "feature")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.feature); + if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.automlClassificationConfig != null && Object.hasOwnProperty.call(message, "automlClassificationConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.encode(message.automlClassificationConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.automlObjectTrackingConfig != null && Object.hasOwnProperty.call(message, "automlObjectTrackingConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.encode(message.automlObjectTrackingConfig, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.automlActionRecognitionConfig != null && Object.hasOwnProperty.call(message, "automlActionRecognitionConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.encode(message.automlActionRecognitionConfig, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.storageConfig != null && Object.hasOwnProperty.call(message, "storageConfig")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.encode(message.storageConfig, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); return writer; }; /** - * Encodes the specified StreamingAnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. + * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { + StreamingVideoConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer. + * Decodes a StreamingVideoConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAnnotateVideoResponse.decode = function decode(reader, length) { + StreamingVideoConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; case 2: - message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.decode(reader, reader.uint32()); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.decode(reader, reader.uint32()); break; case 3: - message.annotationResultsUri = reader.string(); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.decode(reader, reader.uint32()); + break; + case 4: + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + case 5: + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.decode(reader, reader.uint32()); + break; + case 23: + message.automlActionRecognitionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.decode(reader, reader.uint32()); + break; + case 21: + message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.decode(reader, reader.uint32()); + break; + case 22: + message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.decode(reader, reader.uint32()); + break; + case 1: + message.feature = reader.int32(); + break; + case 30: + message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -40387,134 +40583,305 @@ }; /** - * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer, length delimited. + * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { + StreamingVideoConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingAnnotateVideoResponse message. + * Verifies a StreamingVideoConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingAnnotateVideoResponse.verify = function verify(message) { + StreamingVideoConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; + var properties = {}; + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); + if (error) + return "shotChangeDetectionConfig." + error; + } } - if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify(message.annotationResults); + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify(message.labelDetectionConfig); + if (error) + return "labelDetectionConfig." + error; + } + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); + if (error) + return "explicitContentDetectionConfig." + error; + } + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify(message.objectTrackingConfig); + if (error) + return "objectTrackingConfig." + error; + } + } + if (message.automlActionRecognitionConfig != null && message.hasOwnProperty("automlActionRecognitionConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify(message.automlActionRecognitionConfig); + if (error) + return "automlActionRecognitionConfig." + error; + } + } + if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify(message.automlClassificationConfig); + if (error) + return "automlClassificationConfig." + error; + } + } + if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { + if (properties.streamingConfig === 1) + return "streamingConfig: multiple values"; + properties.streamingConfig = 1; + { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify(message.automlObjectTrackingConfig); + if (error) + return "automlObjectTrackingConfig." + error; + } + } + if (message.feature != null && message.hasOwnProperty("feature")) + switch (message.feature) { + default: + return "feature: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 23: + case 21: + case 22: + break; + } + if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify(message.storageConfig); if (error) - return "annotationResults." + error; + return "storageConfig." + error; } - if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) - if (!$util.isString(message.annotationResultsUri)) - return "annotationResultsUri: string expected"; return null; }; /** - * Creates a StreamingAnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig */ - StreamingAnnotateVideoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse) + StreamingVideoConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); + if (object.shotChangeDetectionConfig != null) { + if (typeof object.shotChangeDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.shotChangeDetectionConfig: object expected"); + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); } - if (object.annotationResults != null) { - if (typeof object.annotationResults !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.annotationResults: object expected"); - message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.fromObject(object.annotationResults); + if (object.labelDetectionConfig != null) { + if (typeof object.labelDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.labelDetectionConfig: object expected"); + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.fromObject(object.labelDetectionConfig); + } + if (object.explicitContentDetectionConfig != null) { + if (typeof object.explicitContentDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.explicitContentDetectionConfig: object expected"); + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); + } + if (object.objectTrackingConfig != null) { + if (typeof object.objectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.objectTrackingConfig: object expected"); + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.fromObject(object.objectTrackingConfig); + } + if (object.automlActionRecognitionConfig != null) { + if (typeof object.automlActionRecognitionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlActionRecognitionConfig: object expected"); + message.automlActionRecognitionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.fromObject(object.automlActionRecognitionConfig); + } + if (object.automlClassificationConfig != null) { + if (typeof object.automlClassificationConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlClassificationConfig: object expected"); + message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.fromObject(object.automlClassificationConfig); + } + if (object.automlObjectTrackingConfig != null) { + if (typeof object.automlObjectTrackingConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlObjectTrackingConfig: object expected"); + message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.fromObject(object.automlObjectTrackingConfig); + } + switch (object.feature) { + case "STREAMING_FEATURE_UNSPECIFIED": + case 0: + message.feature = 0; + break; + case "STREAMING_LABEL_DETECTION": + case 1: + message.feature = 1; + break; + case "STREAMING_SHOT_CHANGE_DETECTION": + case 2: + message.feature = 2; + break; + case "STREAMING_EXPLICIT_CONTENT_DETECTION": + case 3: + message.feature = 3; + break; + case "STREAMING_OBJECT_TRACKING": + case 4: + message.feature = 4; + break; + case "STREAMING_AUTOML_ACTION_RECOGNITION": + case 23: + message.feature = 23; + break; + case "STREAMING_AUTOML_CLASSIFICATION": + case 21: + message.feature = 21; + break; + case "STREAMING_AUTOML_OBJECT_TRACKING": + case 22: + message.feature = 22; + break; + } + if (object.storageConfig != null) { + if (typeof object.storageConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.storageConfig: object expected"); + message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.fromObject(object.storageConfig); } - if (object.annotationResultsUri != null) - message.annotationResultsUri = String(object.annotationResultsUri); return message; }; /** - * Creates a plain object from a StreamingAnnotateVideoResponse message. Also converts values to other types if specified. + * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse + * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} message StreamingVideoConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingAnnotateVideoResponse.toObject = function toObject(message, options) { + StreamingVideoConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.error = null; - object.annotationResults = null; - object.annotationResultsUri = ""; + object.feature = options.enums === String ? "STREAMING_FEATURE_UNSPECIFIED" : 0; + object.storageConfig = null; } - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) - object.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.toObject(message.annotationResults, options); - if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) - object.annotationResultsUri = message.annotationResultsUri; + if (message.feature != null && message.hasOwnProperty("feature")) + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] : message.feature; + if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { + object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "shotChangeDetectionConfig"; + } + if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { + object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.toObject(message.labelDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "labelDetectionConfig"; + } + if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { + object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); + if (options.oneofs) + object.streamingConfig = "explicitContentDetectionConfig"; + } + if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { + object.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.toObject(message.objectTrackingConfig, options); + if (options.oneofs) + object.streamingConfig = "objectTrackingConfig"; + } + if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { + object.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.toObject(message.automlClassificationConfig, options); + if (options.oneofs) + object.streamingConfig = "automlClassificationConfig"; + } + if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { + object.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.toObject(message.automlObjectTrackingConfig, options); + if (options.oneofs) + object.streamingConfig = "automlObjectTrackingConfig"; + } + if (message.automlActionRecognitionConfig != null && message.hasOwnProperty("automlActionRecognitionConfig")) { + object.automlActionRecognitionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.toObject(message.automlActionRecognitionConfig, options); + if (options.oneofs) + object.streamingConfig = "automlActionRecognitionConfig"; + } + if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) + object.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.toObject(message.storageConfig, options); return object; }; /** - * Converts this StreamingAnnotateVideoResponse to JSON. + * Converts this StreamingVideoConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig * @instance * @returns {Object.} JSON object */ - StreamingAnnotateVideoResponse.prototype.toJSON = function toJSON() { + StreamingVideoConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingAnnotateVideoResponse; + return StreamingVideoConfig; })(); - v1p3beta1.StreamingAutomlClassificationConfig = (function() { + v1p3beta1.StreamingAnnotateVideoResponse = (function() { /** - * Properties of a StreamingAutomlClassificationConfig. + * Properties of a StreamingAnnotateVideoResponse. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingAutomlClassificationConfig - * @property {string|null} [modelName] StreamingAutomlClassificationConfig modelName + * @interface IStreamingAnnotateVideoResponse + * @property {google.rpc.IStatus|null} [error] StreamingAnnotateVideoResponse error + * @property {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null} [annotationResults] StreamingAnnotateVideoResponse annotationResults + * @property {string|null} [annotationResultsUri] StreamingAnnotateVideoResponse annotationResultsUri */ /** - * Constructs a new StreamingAutomlClassificationConfig. + * Constructs a new StreamingAnnotateVideoResponse. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingAutomlClassificationConfig. - * @implements IStreamingAutomlClassificationConfig + * @classdesc Represents a StreamingAnnotateVideoResponse. + * @implements IStreamingAnnotateVideoResponse * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set */ - function StreamingAutomlClassificationConfig(properties) { + function StreamingAnnotateVideoResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40522,75 +40889,101 @@ } /** - * StreamingAutomlClassificationConfig modelName. - * @member {string} modelName - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * StreamingAnnotateVideoResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @instance */ - StreamingAutomlClassificationConfig.prototype.modelName = ""; + StreamingAnnotateVideoResponse.prototype.error = null; /** - * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. + * StreamingAnnotateVideoResponse annotationResults. + * @member {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null|undefined} annotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + */ + StreamingAnnotateVideoResponse.prototype.annotationResults = null; + + /** + * StreamingAnnotateVideoResponse annotationResultsUri. + * @member {string} annotationResultsUri + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @instance + */ + StreamingAnnotateVideoResponse.prototype.annotationResultsUri = ""; + + /** + * Creates a new StreamingAnnotateVideoResponse instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse instance */ - StreamingAutomlClassificationConfig.create = function create(properties) { - return new StreamingAutomlClassificationConfig(properties); + StreamingAnnotateVideoResponse.create = function create(properties) { + return new StreamingAnnotateVideoResponse(properties); }; /** - * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * Encodes the specified StreamingAnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAutomlClassificationConfig.encode = function encode(message, writer) { + StreamingAnnotateVideoResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.annotationResults != null && Object.hasOwnProperty.call(message, "annotationResults")) + $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.encode(message.annotationResults, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.annotationResultsUri != null && Object.hasOwnProperty.call(message, "annotationResultsUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultsUri); return writer; }; /** - * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. + * Encodes the specified StreamingAnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAutomlClassificationConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingAnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAutomlClassificationConfig.decode = function decode(reader, length) { + StreamingAnnotateVideoResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.modelName = reader.string(); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 2: + message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.decode(reader, reader.uint32()); + break; + case 3: + message.annotationResultsUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -40601,107 +40994,140 @@ }; /** - * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAutomlClassificationConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingAnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingAutomlClassificationConfig message. + * Verifies a StreamingAnnotateVideoResponse message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingAutomlClassificationConfig.verify = function verify(message) { + StreamingAnnotateVideoResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.modelName != null && message.hasOwnProperty("modelName")) - if (!$util.isString(message.modelName)) - return "modelName: string expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify(message.annotationResults); + if (error) + return "annotationResults." + error; + } + if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + if (!$util.isString(message.annotationResultsUri)) + return "annotationResultsUri: string expected"; return null; }; /** - * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAnnotateVideoResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} StreamingAnnotateVideoResponse */ - StreamingAutomlClassificationConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig) + StreamingAnnotateVideoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); - if (object.modelName != null) - message.modelName = String(object.modelName); + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse(); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.annotationResults != null) { + if (typeof object.annotationResults !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.annotationResults: object expected"); + message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.fromObject(object.annotationResults); + } + if (object.annotationResultsUri != null) + message.annotationResultsUri = String(object.annotationResultsUri); return message; }; /** - * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingAnnotateVideoResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} message StreamingAnnotateVideoResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingAutomlClassificationConfig.toObject = function toObject(message, options) { + StreamingAnnotateVideoResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.modelName = ""; - if (message.modelName != null && message.hasOwnProperty("modelName")) - object.modelName = message.modelName; + if (options.defaults) { + object.error = null; + object.annotationResults = null; + object.annotationResultsUri = ""; + } + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) + object.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.toObject(message.annotationResults, options); + if (message.annotationResultsUri != null && message.hasOwnProperty("annotationResultsUri")) + object.annotationResultsUri = message.annotationResultsUri; return object; }; /** - * Converts this StreamingAutomlClassificationConfig to JSON. + * Converts this StreamingAnnotateVideoResponse to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse * @instance * @returns {Object.} JSON object */ - StreamingAutomlClassificationConfig.prototype.toJSON = function toJSON() { + StreamingAnnotateVideoResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingAutomlClassificationConfig; + return StreamingAnnotateVideoResponse; })(); - v1p3beta1.StreamingAutomlObjectTrackingConfig = (function() { + v1p3beta1.StreamingVideoAnnotationResults = (function() { /** - * Properties of a StreamingAutomlObjectTrackingConfig. + * Properties of a StreamingVideoAnnotationResults. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingAutomlObjectTrackingConfig - * @property {string|null} [modelName] StreamingAutomlObjectTrackingConfig modelName + * @interface IStreamingVideoAnnotationResults + * @property {Array.|null} [shotAnnotations] StreamingVideoAnnotationResults shotAnnotations + * @property {Array.|null} [labelAnnotations] StreamingVideoAnnotationResults labelAnnotations + * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] StreamingVideoAnnotationResults explicitAnnotation + * @property {Array.|null} [objectAnnotations] StreamingVideoAnnotationResults objectAnnotations */ /** - * Constructs a new StreamingAutomlObjectTrackingConfig. + * Constructs a new StreamingVideoAnnotationResults. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingAutomlObjectTrackingConfig. - * @implements IStreamingAutomlObjectTrackingConfig + * @classdesc Represents a StreamingVideoAnnotationResults. + * @implements IStreamingVideoAnnotationResults * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set */ - function StreamingAutomlObjectTrackingConfig(properties) { + function StreamingVideoAnnotationResults(properties) { + this.shotAnnotations = []; + this.labelAnnotations = []; + this.objectAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40709,75 +41135,123 @@ } /** - * StreamingAutomlObjectTrackingConfig modelName. - * @member {string} modelName - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * StreamingVideoAnnotationResults shotAnnotations. + * @member {Array.} shotAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @instance */ - StreamingAutomlObjectTrackingConfig.prototype.modelName = ""; + StreamingVideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; /** - * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. + * StreamingVideoAnnotationResults labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.labelAnnotations = $util.emptyArray; + + /** + * StreamingVideoAnnotationResults explicitAnnotation. + * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.explicitAnnotation = null; + + /** + * StreamingVideoAnnotationResults objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @instance + */ + StreamingVideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; + + /** + * Creates a new StreamingVideoAnnotationResults instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults instance */ - StreamingAutomlObjectTrackingConfig.create = function create(properties) { - return new StreamingAutomlObjectTrackingConfig(properties); + StreamingVideoAnnotationResults.create = function create(properties) { + return new StreamingVideoAnnotationResults(properties); }; /** - * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAutomlObjectTrackingConfig.encode = function encode(message, writer) { + StreamingVideoAnnotationResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); + if (message.shotAnnotations != null && message.shotAnnotations.length) + for (var i = 0; i < message.shotAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) + $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. + * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingAutomlObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingVideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAutomlObjectTrackingConfig.decode = function decode(reader, length) { + StreamingVideoAnnotationResults.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.modelName = reader.string(); + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + case 3: + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -40788,106 +41262,188 @@ }; /** - * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingAutomlObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingVideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingAutomlObjectTrackingConfig message. + * Verifies a StreamingVideoAnnotationResults message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingAutomlObjectTrackingConfig.verify = function verify(message) { + StreamingVideoAnnotationResults.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.modelName != null && message.hasOwnProperty("modelName")) - if (!$util.isString(message.modelName)) - return "modelName: string expected"; + if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { + if (!Array.isArray(message.shotAnnotations)) + return "shotAnnotations: array expected"; + for (var i = 0; i < message.shotAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.shotAnnotations[i]); + if (error) + return "shotAnnotations." + 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.videointelligence.v1p3beta1.LabelAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { + var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); + if (error) + return "explicitAnnotation." + 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.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } + } return null; }; /** - * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults */ - StreamingAutomlObjectTrackingConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig) + StreamingVideoAnnotationResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); - if (object.modelName != null) - message.modelName = String(object.modelName); + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); + if (object.shotAnnotations) { + if (!Array.isArray(object.shotAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: array expected"); + message.shotAnnotations = []; + for (var i = 0; i < object.shotAnnotations.length; ++i) { + if (typeof object.shotAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: object expected"); + message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.shotAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.explicitAnnotation != null) { + if (typeof object.explicitAnnotation !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.explicitAnnotation: object expected"); + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); + } + } return message; }; /** - * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} message StreamingVideoAnnotationResults * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingAutomlObjectTrackingConfig.toObject = function toObject(message, options) { + StreamingVideoAnnotationResults.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.shotAnnotations = []; + object.labelAnnotations = []; + object.objectAnnotations = []; + } if (options.defaults) - object.modelName = ""; - if (message.modelName != null && message.hasOwnProperty("modelName")) - object.modelName = message.modelName; + object.explicitAnnotation = null; + if (message.shotAnnotations && message.shotAnnotations.length) { + object.shotAnnotations = []; + for (var j = 0; j < message.shotAnnotations.length; ++j) + object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.shotAnnotations[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.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) + object.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); + if (message.objectAnnotations && message.objectAnnotations.length) { + object.objectAnnotations = []; + for (var j = 0; j < message.objectAnnotations.length; ++j) + object.objectAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); + } return object; }; /** - * Converts this StreamingAutomlObjectTrackingConfig to JSON. + * Converts this StreamingVideoAnnotationResults to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults * @instance * @returns {Object.} JSON object */ - StreamingAutomlObjectTrackingConfig.prototype.toJSON = function toJSON() { + StreamingVideoAnnotationResults.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingAutomlObjectTrackingConfig; + return StreamingVideoAnnotationResults; })(); - v1p3beta1.StreamingExplicitContentDetectionConfig = (function() { + v1p3beta1.StreamingShotChangeDetectionConfig = (function() { /** - * Properties of a StreamingExplicitContentDetectionConfig. + * Properties of a StreamingShotChangeDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingExplicitContentDetectionConfig + * @interface IStreamingShotChangeDetectionConfig */ /** - * Constructs a new StreamingExplicitContentDetectionConfig. + * Constructs a new StreamingShotChangeDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingExplicitContentDetectionConfig. - * @implements IStreamingExplicitContentDetectionConfig + * @classdesc Represents a StreamingShotChangeDetectionConfig. + * @implements IStreamingShotChangeDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set */ - function StreamingExplicitContentDetectionConfig(properties) { + function StreamingShotChangeDetectionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40895,60 +41451,60 @@ } /** - * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties. + * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig instance */ - StreamingExplicitContentDetectionConfig.create = function create(properties) { - return new StreamingExplicitContentDetectionConfig(properties); + StreamingShotChangeDetectionConfig.create = function create(properties) { + return new StreamingShotChangeDetectionConfig(properties); }; /** - * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingExplicitContentDetectionConfig.encode = function encode(message, writer) { + StreamingShotChangeDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** - * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. + * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingExplicitContentDetectionConfig.decode = function decode(reader, length) { + StreamingShotChangeDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -40961,74 +41517,74 @@ }; /** - * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingExplicitContentDetectionConfig message. + * Verifies a StreamingShotChangeDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingExplicitContentDetectionConfig.verify = function verify(message) { + StreamingShotChangeDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** - * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig */ - StreamingExplicitContentDetectionConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig) + StreamingShotChangeDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig) return object; - return new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); }; /** - * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingExplicitContentDetectionConfig.toObject = function toObject() { + StreamingShotChangeDetectionConfig.toObject = function toObject() { return {}; }; /** - * Converts this StreamingExplicitContentDetectionConfig to JSON. + * Converts this StreamingShotChangeDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig * @instance * @returns {Object.} JSON object */ - StreamingExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { + StreamingShotChangeDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingExplicitContentDetectionConfig; + return StreamingShotChangeDetectionConfig; })(); v1p3beta1.StreamingLabelDetectionConfig = (function() { @@ -41218,23 +41774,23 @@ return StreamingLabelDetectionConfig; })(); - v1p3beta1.StreamingObjectTrackingConfig = (function() { + v1p3beta1.StreamingExplicitContentDetectionConfig = (function() { /** - * Properties of a StreamingObjectTrackingConfig. + * Properties of a StreamingExplicitContentDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingObjectTrackingConfig + * @interface IStreamingExplicitContentDetectionConfig */ /** - * Constructs a new StreamingObjectTrackingConfig. + * Constructs a new StreamingExplicitContentDetectionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingObjectTrackingConfig. - * @implements IStreamingObjectTrackingConfig + * @classdesc Represents a StreamingExplicitContentDetectionConfig. + * @implements IStreamingExplicitContentDetectionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set */ - function StreamingObjectTrackingConfig(properties) { + function StreamingExplicitContentDetectionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41242,60 +41798,60 @@ } /** - * Creates a new StreamingObjectTrackingConfig instance using the specified properties. + * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig instance */ - StreamingObjectTrackingConfig.create = function create(properties) { - return new StreamingObjectTrackingConfig(properties); + StreamingExplicitContentDetectionConfig.create = function create(properties) { + return new StreamingExplicitContentDetectionConfig(properties); }; /** - * Encodes the specified StreamingObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingObjectTrackingConfig.encode = function encode(message, writer) { + StreamingExplicitContentDetectionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** - * Encodes the specified StreamingObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. + * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer. + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingObjectTrackingConfig.decode = function decode(reader, length) { + StreamingExplicitContentDetectionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -41308,93 +41864,93 @@ }; /** - * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingObjectTrackingConfig message. + * Verifies a StreamingExplicitContentDetectionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingObjectTrackingConfig.verify = function verify(message) { + StreamingExplicitContentDetectionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** - * Creates a StreamingObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} StreamingExplicitContentDetectionConfig */ - StreamingObjectTrackingConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig) + StreamingExplicitContentDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig) return object; - return new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig(); }; /** - * Creates a plain object from a StreamingObjectTrackingConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} message StreamingObjectTrackingConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig} message StreamingExplicitContentDetectionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingObjectTrackingConfig.toObject = function toObject() { + StreamingExplicitContentDetectionConfig.toObject = function toObject() { return {}; }; /** - * Converts this StreamingObjectTrackingConfig to JSON. + * Converts this StreamingExplicitContentDetectionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig * @instance * @returns {Object.} JSON object */ - StreamingObjectTrackingConfig.prototype.toJSON = function toJSON() { + StreamingExplicitContentDetectionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingObjectTrackingConfig; + return StreamingExplicitContentDetectionConfig; })(); - v1p3beta1.StreamingShotChangeDetectionConfig = (function() { + v1p3beta1.StreamingObjectTrackingConfig = (function() { /** - * Properties of a StreamingShotChangeDetectionConfig. + * Properties of a StreamingObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingShotChangeDetectionConfig + * @interface IStreamingObjectTrackingConfig */ /** - * Constructs a new StreamingShotChangeDetectionConfig. + * Constructs a new StreamingObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingShotChangeDetectionConfig. - * @implements IStreamingShotChangeDetectionConfig + * @classdesc Represents a StreamingObjectTrackingConfig. + * @implements IStreamingObjectTrackingConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set */ - function StreamingShotChangeDetectionConfig(properties) { + function StreamingObjectTrackingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41402,60 +41958,60 @@ } /** - * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties. + * Creates a new StreamingObjectTrackingConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig instance */ - StreamingShotChangeDetectionConfig.create = function create(properties) { - return new StreamingShotChangeDetectionConfig(properties); + StreamingObjectTrackingConfig.create = function create(properties) { + return new StreamingObjectTrackingConfig(properties); }; /** - * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * Encodes the specified StreamingObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingShotChangeDetectionConfig.encode = function encode(message, writer) { + StreamingObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** - * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages. + * Encodes the specified StreamingObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig} message StreamingObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer. + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingShotChangeDetectionConfig.decode = function decode(reader, length) { + StreamingObjectTrackingConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -41468,95 +42024,94 @@ }; /** - * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingShotChangeDetectionConfig message. + * Verifies a StreamingObjectTrackingConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingShotChangeDetectionConfig.verify = function verify(message) { + StreamingObjectTrackingConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** - * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} StreamingShotChangeDetectionConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} StreamingObjectTrackingConfig */ - StreamingShotChangeDetectionConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig) + StreamingObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig) return object; - return new $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig(); + return new $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig(); }; /** - * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingObjectTrackingConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig} message StreamingShotChangeDetectionConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig} message StreamingObjectTrackingConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingShotChangeDetectionConfig.toObject = function toObject() { + StreamingObjectTrackingConfig.toObject = function toObject() { return {}; }; /** - * Converts this StreamingShotChangeDetectionConfig to JSON. + * Converts this StreamingObjectTrackingConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig * @instance * @returns {Object.} JSON object */ - StreamingShotChangeDetectionConfig.prototype.toJSON = function toJSON() { + StreamingObjectTrackingConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingShotChangeDetectionConfig; + return StreamingObjectTrackingConfig; })(); - v1p3beta1.StreamingStorageConfig = (function() { + v1p3beta1.StreamingAutomlActionRecognitionConfig = (function() { /** - * Properties of a StreamingStorageConfig. + * Properties of a StreamingAutomlActionRecognitionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingStorageConfig - * @property {boolean|null} [enableStorageAnnotationResult] StreamingStorageConfig enableStorageAnnotationResult - * @property {string|null} [annotationResultStorageDirectory] StreamingStorageConfig annotationResultStorageDirectory + * @interface IStreamingAutomlActionRecognitionConfig + * @property {string|null} [modelName] StreamingAutomlActionRecognitionConfig modelName */ /** - * Constructs a new StreamingStorageConfig. + * Constructs a new StreamingAutomlActionRecognitionConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingStorageConfig. - * @implements IStreamingStorageConfig + * @classdesc Represents a StreamingAutomlActionRecognitionConfig. + * @implements IStreamingAutomlActionRecognitionConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig=} [properties] Properties to set */ - function StreamingStorageConfig(properties) { + function StreamingAutomlActionRecognitionConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41564,88 +42119,75 @@ } /** - * StreamingStorageConfig enableStorageAnnotationResult. - * @member {boolean} enableStorageAnnotationResult - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig - * @instance - */ - StreamingStorageConfig.prototype.enableStorageAnnotationResult = false; - - /** - * StreamingStorageConfig annotationResultStorageDirectory. - * @member {string} annotationResultStorageDirectory - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * StreamingAutomlActionRecognitionConfig modelName. + * @member {string} modelName + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @instance */ - StreamingStorageConfig.prototype.annotationResultStorageDirectory = ""; + StreamingAutomlActionRecognitionConfig.prototype.modelName = ""; /** - * Creates a new StreamingStorageConfig instance using the specified properties. + * Creates a new StreamingAutomlActionRecognitionConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig} StreamingAutomlActionRecognitionConfig instance */ - StreamingStorageConfig.create = function create(properties) { - return new StreamingStorageConfig(properties); + StreamingAutomlActionRecognitionConfig.create = function create(properties) { + return new StreamingAutomlActionRecognitionConfig(properties); }; /** - * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * Encodes the specified StreamingAutomlActionRecognitionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig} message StreamingAutomlActionRecognitionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingStorageConfig.encode = function encode(message, writer) { + StreamingAutomlActionRecognitionConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.enableStorageAnnotationResult != null && Object.hasOwnProperty.call(message, "enableStorageAnnotationResult")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableStorageAnnotationResult); - if (message.annotationResultStorageDirectory != null && Object.hasOwnProperty.call(message, "annotationResultStorageDirectory")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultStorageDirectory); + if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); return writer; }; /** - * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * Encodes the specified StreamingAutomlActionRecognitionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig} message StreamingAutomlActionRecognitionConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingStorageConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingAutomlActionRecognitionConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingStorageConfig message from the specified reader or buffer. + * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig} StreamingAutomlActionRecognitionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingStorageConfig.decode = function decode(reader, length) { + StreamingAutomlActionRecognitionConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.enableStorageAnnotationResult = reader.bool(); - break; - case 3: - message.annotationResultStorageDirectory = reader.string(); + message.modelName = reader.string(); break; default: reader.skipType(tag & 7); @@ -41656,122 +42198,107 @@ }; /** - * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig} StreamingAutomlActionRecognitionConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingStorageConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingAutomlActionRecognitionConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingStorageConfig message. + * Verifies a StreamingAutomlActionRecognitionConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingStorageConfig.verify = function verify(message) { + StreamingAutomlActionRecognitionConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) - if (typeof message.enableStorageAnnotationResult !== "boolean") - return "enableStorageAnnotationResult: boolean expected"; - if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) - if (!$util.isString(message.annotationResultStorageDirectory)) - return "annotationResultStorageDirectory: string expected"; + if (message.modelName != null && message.hasOwnProperty("modelName")) + if (!$util.isString(message.modelName)) + return "modelName: string expected"; return null; }; /** - * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlActionRecognitionConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig} StreamingAutomlActionRecognitionConfig */ - StreamingStorageConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig) + StreamingAutomlActionRecognitionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); - if (object.enableStorageAnnotationResult != null) - message.enableStorageAnnotationResult = Boolean(object.enableStorageAnnotationResult); - if (object.annotationResultStorageDirectory != null) - message.annotationResultStorageDirectory = String(object.annotationResultStorageDirectory); + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig(); + if (object.modelName != null) + message.modelName = String(object.modelName); return message; }; /** - * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingAutomlActionRecognitionConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} message StreamingStorageConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig} message StreamingAutomlActionRecognitionConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingStorageConfig.toObject = function toObject(message, options) { + StreamingAutomlActionRecognitionConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.enableStorageAnnotationResult = false; - object.annotationResultStorageDirectory = ""; - } - if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) - object.enableStorageAnnotationResult = message.enableStorageAnnotationResult; - if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) - object.annotationResultStorageDirectory = message.annotationResultStorageDirectory; + if (options.defaults) + object.modelName = ""; + if (message.modelName != null && message.hasOwnProperty("modelName")) + object.modelName = message.modelName; return object; }; /** - * Converts this StreamingStorageConfig to JSON. + * Converts this StreamingAutomlActionRecognitionConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig * @instance * @returns {Object.} JSON object */ - StreamingStorageConfig.prototype.toJSON = function toJSON() { + StreamingAutomlActionRecognitionConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingStorageConfig; + return StreamingAutomlActionRecognitionConfig; })(); - v1p3beta1.StreamingVideoAnnotationResults = (function() { + v1p3beta1.StreamingAutomlClassificationConfig = (function() { /** - * Properties of a StreamingVideoAnnotationResults. + * Properties of a StreamingAutomlClassificationConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingVideoAnnotationResults - * @property {Array.|null} [shotAnnotations] StreamingVideoAnnotationResults shotAnnotations - * @property {Array.|null} [labelAnnotations] StreamingVideoAnnotationResults labelAnnotations - * @property {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null} [explicitAnnotation] StreamingVideoAnnotationResults explicitAnnotation - * @property {Array.|null} [objectAnnotations] StreamingVideoAnnotationResults objectAnnotations + * @interface IStreamingAutomlClassificationConfig + * @property {string|null} [modelName] StreamingAutomlClassificationConfig modelName */ /** - * Constructs a new StreamingVideoAnnotationResults. + * Constructs a new StreamingAutomlClassificationConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingVideoAnnotationResults. - * @implements IStreamingVideoAnnotationResults + * @classdesc Represents a StreamingAutomlClassificationConfig. + * @implements IStreamingAutomlClassificationConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set */ - function StreamingVideoAnnotationResults(properties) { - this.shotAnnotations = []; - this.labelAnnotations = []; - this.objectAnnotations = []; + function StreamingAutomlClassificationConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41779,123 +42306,75 @@ } /** - * StreamingVideoAnnotationResults shotAnnotations. - * @member {Array.} shotAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * StreamingAutomlClassificationConfig modelName. + * @member {string} modelName + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @instance */ - StreamingVideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray; + StreamingAutomlClassificationConfig.prototype.modelName = ""; /** - * StreamingVideoAnnotationResults labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults - * @instance + * Creates a new StreamingAutomlClassificationConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig instance */ - StreamingVideoAnnotationResults.prototype.labelAnnotations = $util.emptyArray; - - /** - * StreamingVideoAnnotationResults explicitAnnotation. - * @member {google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null|undefined} explicitAnnotation - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults - * @instance - */ - StreamingVideoAnnotationResults.prototype.explicitAnnotation = null; - - /** - * StreamingVideoAnnotationResults objectAnnotations. - * @member {Array.} objectAnnotations - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults - * @instance - */ - StreamingVideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray; - - /** - * Creates a new StreamingVideoAnnotationResults instance using the specified properties. - * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults - * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults instance - */ - StreamingVideoAnnotationResults.create = function create(properties) { - return new StreamingVideoAnnotationResults(properties); + StreamingAutomlClassificationConfig.create = function create(properties) { + return new StreamingAutomlClassificationConfig(properties); }; /** - * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingVideoAnnotationResults.encode = function encode(message, writer) { + StreamingAutomlClassificationConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.shotAnnotations != null && message.shotAnnotations.length) - for (var i = 0; i < message.shotAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation")) - $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.objectAnnotations != null && message.objectAnnotations.length) - for (var i = 0; i < message.objectAnnotations.length; ++i) - $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); return writer; }; /** - * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages. + * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults} message StreamingVideoAnnotationResults message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingVideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) { + StreamingAutomlClassificationConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer. + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingVideoAnnotationResults.decode = function decode(reader, length) { + StreamingAutomlClassificationConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + message.modelName = reader.string(); break; default: reader.skipType(tag & 7); @@ -41906,196 +42385,107 @@ }; /** - * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingVideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) { + StreamingAutomlClassificationConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingVideoAnnotationResults message. + * Verifies a StreamingAutomlClassificationConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingVideoAnnotationResults.verify = function verify(message) { + StreamingAutomlClassificationConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { - if (!Array.isArray(message.shotAnnotations)) - return "shotAnnotations: array expected"; - for (var i = 0; i < message.shotAnnotations.length; ++i) { - var error = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.verify(message.shotAnnotations[i]); - if (error) - return "shotAnnotations." + 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.videointelligence.v1p3beta1.LabelAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify(message.explicitAnnotation); - if (error) - return "explicitAnnotation." + 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.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]); - if (error) - return "objectAnnotations." + error; - } - } + if (message.modelName != null && message.hasOwnProperty("modelName")) + if (!$util.isString(message.modelName)) + return "modelName: string expected"; return null; }; /** - * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} StreamingVideoAnnotationResults + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} StreamingAutomlClassificationConfig */ - StreamingVideoAnnotationResults.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults) + StreamingAutomlClassificationConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults(); - if (object.shotAnnotations) { - if (!Array.isArray(object.shotAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: array expected"); - message.shotAnnotations = []; - for (var i = 0; i < object.shotAnnotations.length; ++i) { - if (typeof object.shotAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.shotAnnotations: object expected"); - message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.fromObject(object.shotAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.explicitAnnotation != null) { - if (typeof object.explicitAnnotation !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.explicitAnnotation: object expected"); - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation); - } - if (object.objectAnnotations) { - if (!Array.isArray(object.objectAnnotations)) - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: array expected"); - message.objectAnnotations = []; - for (var i = 0; i < object.objectAnnotations.length; ++i) { - if (typeof object.objectAnnotations[i] !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.objectAnnotations: object expected"); - message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]); - } - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig(); + if (object.modelName != null) + message.modelName = String(object.modelName); return message; }; /** - * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified. + * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults} message StreamingVideoAnnotationResults + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig} message StreamingAutomlClassificationConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingVideoAnnotationResults.toObject = function toObject(message, options) { + StreamingAutomlClassificationConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.shotAnnotations = []; - object.labelAnnotations = []; - object.objectAnnotations = []; - } if (options.defaults) - object.explicitAnnotation = null; - if (message.shotAnnotations && message.shotAnnotations.length) { - object.shotAnnotations = []; - for (var j = 0; j < message.shotAnnotations.length; ++j) - object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.shotAnnotations[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.videointelligence.v1p3beta1.LabelAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) - object.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options); - if (message.objectAnnotations && message.objectAnnotations.length) { - object.objectAnnotations = []; - for (var j = 0; j < message.objectAnnotations.length; ++j) - object.objectAnnotations[j] = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options); - } + object.modelName = ""; + if (message.modelName != null && message.hasOwnProperty("modelName")) + object.modelName = message.modelName; return object; }; /** - * Converts this StreamingVideoAnnotationResults to JSON. + * Converts this StreamingAutomlClassificationConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig * @instance * @returns {Object.} JSON object */ - StreamingVideoAnnotationResults.prototype.toJSON = function toJSON() { + StreamingAutomlClassificationConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingVideoAnnotationResults; + return StreamingAutomlClassificationConfig; })(); - v1p3beta1.StreamingVideoConfig = (function() { + v1p3beta1.StreamingAutomlObjectTrackingConfig = (function() { /** - * Properties of a StreamingVideoConfig. + * Properties of a StreamingAutomlObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @interface IStreamingVideoConfig - * @property {google.cloud.videointelligence.v1p3beta1.StreamingFeature|null} [feature] StreamingVideoConfig feature - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null} [shotChangeDetectionConfig] StreamingVideoConfig shotChangeDetectionConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null} [labelDetectionConfig] StreamingVideoConfig labelDetectionConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] StreamingVideoConfig explicitContentDetectionConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null} [objectTrackingConfig] StreamingVideoConfig objectTrackingConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null} [automlClassificationConfig] StreamingVideoConfig automlClassificationConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null} [automlObjectTrackingConfig] StreamingVideoConfig automlObjectTrackingConfig - * @property {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null} [storageConfig] StreamingVideoConfig storageConfig + * @interface IStreamingAutomlObjectTrackingConfig + * @property {string|null} [modelName] StreamingAutomlObjectTrackingConfig modelName */ /** - * Constructs a new StreamingVideoConfig. + * Constructs a new StreamingAutomlObjectTrackingConfig. * @memberof google.cloud.videointelligence.v1p3beta1 - * @classdesc Represents a StreamingVideoConfig. - * @implements IStreamingVideoConfig + * @classdesc Represents a StreamingAutomlObjectTrackingConfig. + * @implements IStreamingAutomlObjectTrackingConfig * @constructor - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set */ - function StreamingVideoConfig(properties) { + function StreamingAutomlObjectTrackingConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42103,180 +42493,75 @@ } /** - * StreamingVideoConfig feature. - * @member {google.cloud.videointelligence.v1p3beta1.StreamingFeature} feature - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * StreamingAutomlObjectTrackingConfig modelName. + * @member {string} modelName + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @instance */ - StreamingVideoConfig.prototype.feature = 0; - - /** - * StreamingVideoConfig shotChangeDetectionConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.shotChangeDetectionConfig = null; - - /** - * StreamingVideoConfig labelDetectionConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null|undefined} labelDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.labelDetectionConfig = null; - - /** - * StreamingVideoConfig explicitContentDetectionConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.explicitContentDetectionConfig = null; - - /** - * StreamingVideoConfig objectTrackingConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null|undefined} objectTrackingConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.objectTrackingConfig = null; - - /** - * StreamingVideoConfig automlClassificationConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null|undefined} automlClassificationConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.automlClassificationConfig = null; - - /** - * StreamingVideoConfig automlObjectTrackingConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null|undefined} automlObjectTrackingConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.automlObjectTrackingConfig = null; - - /** - * StreamingVideoConfig storageConfig. - * @member {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null|undefined} storageConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - StreamingVideoConfig.prototype.storageConfig = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * StreamingVideoConfig streamingConfig. - * @member {"shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig"|undefined} streamingConfig - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig - * @instance - */ - Object.defineProperty(StreamingVideoConfig.prototype, "streamingConfig", { - get: $util.oneOfGetter($oneOfFields = ["shotChangeDetectionConfig", "labelDetectionConfig", "explicitContentDetectionConfig", "objectTrackingConfig", "automlClassificationConfig", "automlObjectTrackingConfig"]), - set: $util.oneOfSetter($oneOfFields) - }); + StreamingAutomlObjectTrackingConfig.prototype.modelName = ""; /** - * Creates a new StreamingVideoConfig instance using the specified properties. + * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig instance + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig instance */ - StreamingVideoConfig.create = function create(properties) { - return new StreamingVideoConfig(properties); + StreamingAutomlObjectTrackingConfig.create = function create(properties) { + return new StreamingAutomlObjectTrackingConfig(properties); }; /** - * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingVideoConfig.encode = function encode(message, writer) { + StreamingAutomlObjectTrackingConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.feature != null && Object.hasOwnProperty.call(message, "feature")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.feature); - if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.automlClassificationConfig != null && Object.hasOwnProperty.call(message, "automlClassificationConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.encode(message.automlClassificationConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.automlObjectTrackingConfig != null && Object.hasOwnProperty.call(message, "automlObjectTrackingConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.encode(message.automlObjectTrackingConfig, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); - if (message.storageConfig != null && Object.hasOwnProperty.call(message, "storageConfig")) - $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.encode(message.storageConfig, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); + if (message.modelName != null && Object.hasOwnProperty.call(message, "modelName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.modelName); return writer; }; /** - * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages. + * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig} message StreamingVideoConfig message or plain object to encode + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StreamingVideoConfig.encodeDelimited = function encodeDelimited(message, writer) { + StreamingAutomlObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StreamingVideoConfig message from the specified reader or buffer. + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingVideoConfig.decode = function decode(reader, length) { + StreamingAutomlObjectTrackingConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.feature = reader.int32(); - break; - case 2: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 5: - message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.decode(reader, reader.uint32()); - break; - case 21: - message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.decode(reader, reader.uint32()); - break; - case 22: - message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.decode(reader, reader.uint32()); - break; - case 30: - message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.decode(reader, reader.uint32()); + message.modelName = reader.string(); break; default: reader.skipType(tag & 7); @@ -42287,354 +42572,297 @@ }; /** - * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited. + * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StreamingVideoConfig.decodeDelimited = function decodeDelimited(reader) { + StreamingAutomlObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StreamingVideoConfig message. + * Verifies a StreamingAutomlObjectTrackingConfig message. * @function verify - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StreamingVideoConfig.verify = function verify(message) { + StreamingAutomlObjectTrackingConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.feature != null && message.hasOwnProperty("feature")) - switch (message.feature) { - default: - return "feature: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 21: - case 22: - break; - } - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig); - if (error) - return "shotChangeDetectionConfig." + error; - } - } - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { - if (properties.streamingConfig === 1) - return "streamingConfig: multiple values"; - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify(message.labelDetectionConfig); - if (error) - return "labelDetectionConfig." + error; - } - } - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { - if (properties.streamingConfig === 1) - return "streamingConfig: multiple values"; - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig); - if (error) - return "explicitContentDetectionConfig." + error; - } - } - if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { - if (properties.streamingConfig === 1) - return "streamingConfig: multiple values"; - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify(message.objectTrackingConfig); - if (error) - return "objectTrackingConfig." + error; - } - } - if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { - if (properties.streamingConfig === 1) - return "streamingConfig: multiple values"; - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify(message.automlClassificationConfig); - if (error) - return "automlClassificationConfig." + error; - } - } - if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { - if (properties.streamingConfig === 1) - return "streamingConfig: multiple values"; - properties.streamingConfig = 1; - { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify(message.automlObjectTrackingConfig); - if (error) - return "automlObjectTrackingConfig." + error; - } - } - if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) { - var error = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify(message.storageConfig); - if (error) - return "storageConfig." + error; - } + if (message.modelName != null && message.hasOwnProperty("modelName")) + if (!$util.isString(message.modelName)) + return "modelName: string expected"; return null; }; /** - * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types. + * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} StreamingVideoConfig + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} StreamingAutomlObjectTrackingConfig */ - StreamingVideoConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig) + StreamingAutomlObjectTrackingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig) return object; - var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig(); - switch (object.feature) { - case "STREAMING_FEATURE_UNSPECIFIED": - case 0: - message.feature = 0; - break; - case "STREAMING_LABEL_DETECTION": - case 1: - message.feature = 1; - break; - case "STREAMING_SHOT_CHANGE_DETECTION": - case 2: - message.feature = 2; - break; - case "STREAMING_EXPLICIT_CONTENT_DETECTION": - case 3: - message.feature = 3; - break; - case "STREAMING_OBJECT_TRACKING": - case 4: - message.feature = 4; - break; - case "STREAMING_AUTOML_CLASSIFICATION": - case 21: - message.feature = 21; - break; - case "STREAMING_AUTOML_OBJECT_TRACKING": - case 22: - message.feature = 22; - break; - } - if (object.shotChangeDetectionConfig != null) { - if (typeof object.shotChangeDetectionConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.shotChangeDetectionConfig: object expected"); - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig); - } - if (object.labelDetectionConfig != null) { - if (typeof object.labelDetectionConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.labelDetectionConfig: object expected"); - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.fromObject(object.labelDetectionConfig); - } - if (object.explicitContentDetectionConfig != null) { - if (typeof object.explicitContentDetectionConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.explicitContentDetectionConfig: object expected"); - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig); - } - if (object.objectTrackingConfig != null) { - if (typeof object.objectTrackingConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.objectTrackingConfig: object expected"); - message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.fromObject(object.objectTrackingConfig); - } - if (object.automlClassificationConfig != null) { - if (typeof object.automlClassificationConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlClassificationConfig: object expected"); - message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.fromObject(object.automlClassificationConfig); - } - if (object.automlObjectTrackingConfig != null) { - if (typeof object.automlObjectTrackingConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.automlObjectTrackingConfig: object expected"); - message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.fromObject(object.automlObjectTrackingConfig); - } - if (object.storageConfig != null) { - if (typeof object.storageConfig !== "object") - throw TypeError(".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.storageConfig: object expected"); - message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.fromObject(object.storageConfig); - } + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig(); + if (object.modelName != null) + message.modelName = String(object.modelName); return message; }; /** - * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified. + * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @static - * @param {google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig} message StreamingVideoConfig + * @param {google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig} message StreamingAutomlObjectTrackingConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StreamingVideoConfig.toObject = function toObject(message, options) { + StreamingAutomlObjectTrackingConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.feature = options.enums === String ? "STREAMING_FEATURE_UNSPECIFIED" : 0; - object.storageConfig = null; - } - if (message.feature != null && message.hasOwnProperty("feature")) - object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] : message.feature; - if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { - object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); - if (options.oneofs) - object.streamingConfig = "shotChangeDetectionConfig"; - } - if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) { - object.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.toObject(message.labelDetectionConfig, options); - if (options.oneofs) - object.streamingConfig = "labelDetectionConfig"; - } - if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) { - object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options); - if (options.oneofs) - object.streamingConfig = "explicitContentDetectionConfig"; - } - if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { - object.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.toObject(message.objectTrackingConfig, options); - if (options.oneofs) - object.streamingConfig = "objectTrackingConfig"; - } - if (message.automlClassificationConfig != null && message.hasOwnProperty("automlClassificationConfig")) { - object.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.toObject(message.automlClassificationConfig, options); - if (options.oneofs) - object.streamingConfig = "automlClassificationConfig"; - } - if (message.automlObjectTrackingConfig != null && message.hasOwnProperty("automlObjectTrackingConfig")) { - object.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.toObject(message.automlObjectTrackingConfig, options); - if (options.oneofs) - object.streamingConfig = "automlObjectTrackingConfig"; - } - if (message.storageConfig != null && message.hasOwnProperty("storageConfig")) - object.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.toObject(message.storageConfig, options); + if (options.defaults) + object.modelName = ""; + if (message.modelName != null && message.hasOwnProperty("modelName")) + object.modelName = message.modelName; return object; }; /** - * Converts this StreamingVideoConfig to JSON. + * Converts this StreamingAutomlObjectTrackingConfig to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig * @instance * @returns {Object.} JSON object */ - StreamingVideoConfig.prototype.toJSON = function toJSON() { + StreamingAutomlObjectTrackingConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StreamingVideoConfig; + return StreamingAutomlObjectTrackingConfig; })(); - /** - * Feature enum. - * @name google.cloud.videointelligence.v1p3beta1.Feature - * @enum {number} - * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value - * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value - * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value - * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value - * @property {number} FACE_DETECTION=4 FACE_DETECTION value - * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value - * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value - * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value - * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value - * @property {number} CELEBRITY_RECOGNITION=13 CELEBRITY_RECOGNITION value - * @property {number} PERSON_DETECTION=14 PERSON_DETECTION value - */ - v1p3beta1.Feature = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0; - values[valuesById[1] = "LABEL_DETECTION"] = 1; - values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2; - values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3; - values[valuesById[4] = "FACE_DETECTION"] = 4; - values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6; - values[valuesById[7] = "TEXT_DETECTION"] = 7; - values[valuesById[9] = "OBJECT_TRACKING"] = 9; - values[valuesById[12] = "LOGO_RECOGNITION"] = 12; - values[valuesById[13] = "CELEBRITY_RECOGNITION"] = 13; - values[valuesById[14] = "PERSON_DETECTION"] = 14; - return values; - })(); + v1p3beta1.StreamingStorageConfig = (function() { - /** - * LabelDetectionMode enum. - * @name google.cloud.videointelligence.v1p3beta1.LabelDetectionMode - * @enum {number} - * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value - * @property {number} SHOT_MODE=1 SHOT_MODE value - * @property {number} FRAME_MODE=2 FRAME_MODE value - * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value - */ - v1p3beta1.LabelDetectionMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOT_MODE"] = 1; - values[valuesById[2] = "FRAME_MODE"] = 2; - values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3; - return values; - })(); + /** + * Properties of a StreamingStorageConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @interface IStreamingStorageConfig + * @property {boolean|null} [enableStorageAnnotationResult] StreamingStorageConfig enableStorageAnnotationResult + * @property {string|null} [annotationResultStorageDirectory] StreamingStorageConfig annotationResultStorageDirectory + */ - /** - * Likelihood enum. - * @name google.cloud.videointelligence.v1p3beta1.Likelihood - * @enum {number} - * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED 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] = "LIKELIHOOD_UNSPECIFIED"] = 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; - })(); + /** + * Constructs a new StreamingStorageConfig. + * @memberof google.cloud.videointelligence.v1p3beta1 + * @classdesc Represents a StreamingStorageConfig. + * @implements IStreamingStorageConfig + * @constructor + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set + */ + function StreamingStorageConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * StreamingFeature enum. - * @name google.cloud.videointelligence.v1p3beta1.StreamingFeature - * @enum {number} - * @property {number} STREAMING_FEATURE_UNSPECIFIED=0 STREAMING_FEATURE_UNSPECIFIED value - * @property {number} STREAMING_LABEL_DETECTION=1 STREAMING_LABEL_DETECTION value - * @property {number} STREAMING_SHOT_CHANGE_DETECTION=2 STREAMING_SHOT_CHANGE_DETECTION value - * @property {number} STREAMING_EXPLICIT_CONTENT_DETECTION=3 STREAMING_EXPLICIT_CONTENT_DETECTION value - * @property {number} STREAMING_OBJECT_TRACKING=4 STREAMING_OBJECT_TRACKING value - * @property {number} STREAMING_AUTOML_CLASSIFICATION=21 STREAMING_AUTOML_CLASSIFICATION value - * @property {number} STREAMING_AUTOML_OBJECT_TRACKING=22 STREAMING_AUTOML_OBJECT_TRACKING value - */ - v1p3beta1.StreamingFeature = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STREAMING_FEATURE_UNSPECIFIED"] = 0; - values[valuesById[1] = "STREAMING_LABEL_DETECTION"] = 1; - values[valuesById[2] = "STREAMING_SHOT_CHANGE_DETECTION"] = 2; - values[valuesById[3] = "STREAMING_EXPLICIT_CONTENT_DETECTION"] = 3; - values[valuesById[4] = "STREAMING_OBJECT_TRACKING"] = 4; - values[valuesById[21] = "STREAMING_AUTOML_CLASSIFICATION"] = 21; - values[valuesById[22] = "STREAMING_AUTOML_OBJECT_TRACKING"] = 22; - return values; + /** + * StreamingStorageConfig enableStorageAnnotationResult. + * @member {boolean} enableStorageAnnotationResult + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + */ + StreamingStorageConfig.prototype.enableStorageAnnotationResult = false; + + /** + * StreamingStorageConfig annotationResultStorageDirectory. + * @member {string} annotationResultStorageDirectory + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + */ + StreamingStorageConfig.prototype.annotationResultStorageDirectory = ""; + + /** + * Creates a new StreamingStorageConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig instance + */ + StreamingStorageConfig.create = function create(properties) { + return new StreamingStorageConfig(properties); + }; + + /** + * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingStorageConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableStorageAnnotationResult != null && Object.hasOwnProperty.call(message, "enableStorageAnnotationResult")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableStorageAnnotationResult); + if (message.annotationResultStorageDirectory != null && Object.hasOwnProperty.call(message, "annotationResultStorageDirectory")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.annotationResultStorageDirectory); + return writer; + }; + + /** + * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig} message StreamingStorageConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StreamingStorageConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingStorageConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.enableStorageAnnotationResult = reader.bool(); + break; + case 3: + message.annotationResultStorageDirectory = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StreamingStorageConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StreamingStorageConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StreamingStorageConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + if (typeof message.enableStorageAnnotationResult !== "boolean") + return "enableStorageAnnotationResult: boolean expected"; + if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + if (!$util.isString(message.annotationResultStorageDirectory)) + return "annotationResultStorageDirectory: string expected"; + return null; + }; + + /** + * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} StreamingStorageConfig + */ + StreamingStorageConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig(); + if (object.enableStorageAnnotationResult != null) + message.enableStorageAnnotationResult = Boolean(object.enableStorageAnnotationResult); + if (object.annotationResultStorageDirectory != null) + message.annotationResultStorageDirectory = String(object.annotationResultStorageDirectory); + return message; + }; + + /** + * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig} message StreamingStorageConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StreamingStorageConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.enableStorageAnnotationResult = false; + object.annotationResultStorageDirectory = ""; + } + if (message.enableStorageAnnotationResult != null && message.hasOwnProperty("enableStorageAnnotationResult")) + object.enableStorageAnnotationResult = message.enableStorageAnnotationResult; + if (message.annotationResultStorageDirectory != null && message.hasOwnProperty("annotationResultStorageDirectory")) + object.annotationResultStorageDirectory = message.annotationResultStorageDirectory; + return object; + }; + + /** + * Converts this StreamingStorageConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @instance + * @returns {Object.} JSON object + */ + StreamingStorageConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StreamingStorageConfig; })(); return v1p3beta1; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index dde274ca5b0..df467a3f3bf 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -2273,6 +2273,24 @@ } } }, + "LabelDetectionMode": { + "values": { + "LABEL_DETECTION_MODE_UNSPECIFIED": 0, + "SHOT_MODE": 1, + "FRAME_MODE": 2, + "SHOT_AND_FRAME_MODE": 3 + } + }, + "Likelihood": { + "values": { + "LIKELIHOOD_UNSPECIFIED": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, "LabelDetectionConfig": { "fields": { "labelDetectionMode": { @@ -2297,6 +2315,33 @@ } } }, + "StreamingFeature": { + "values": { + "STREAMING_FEATURE_UNSPECIFIED": 0, + "STREAMING_LABEL_DETECTION": 1, + "STREAMING_SHOT_CHANGE_DETECTION": 2, + "STREAMING_EXPLICIT_CONTENT_DETECTION": 3, + "STREAMING_OBJECT_TRACKING": 4, + "STREAMING_AUTOML_ACTION_RECOGNITION": 23, + "STREAMING_AUTOML_CLASSIFICATION": 21, + "STREAMING_AUTOML_OBJECT_TRACKING": 22 + } + }, + "Feature": { + "values": { + "FEATURE_UNSPECIFIED": 0, + "LABEL_DETECTION": 1, + "SHOT_CHANGE_DETECTION": 2, + "EXPLICIT_CONTENT_DETECTION": 3, + "FACE_DETECTION": 4, + "SPEECH_TRANSCRIPTION": 6, + "TEXT_DETECTION": 7, + "OBJECT_TRACKING": 9, + "LOGO_RECOGNITION": 12, + "CELEBRITY_RECOGNITION": 13, + "PERSON_DETECTION": 14 + } + }, "ShotChangeDetectionConfig": { "fields": { "model": { @@ -3009,6 +3054,14 @@ } }, "fields": { + "segment": { + "type": "VideoSegment", + "id": 3 + }, + "trackId": { + "type": "int64", + "id": 5 + }, "entity": { "type": "Entity", "id": 1 @@ -3021,14 +3074,6 @@ "rule": "repeated", "type": "ObjectTrackingFrame", "id": 2 - }, - "segment": { - "type": "VideoSegment", - "id": 3 - }, - "trackId": { - "type": "int64", - "id": 5 } } }, @@ -3070,6 +3115,59 @@ } } }, + "StreamingVideoConfig": { + "oneofs": { + "streamingConfig": { + "oneof": [ + "shotChangeDetectionConfig", + "labelDetectionConfig", + "explicitContentDetectionConfig", + "objectTrackingConfig", + "automlActionRecognitionConfig", + "automlClassificationConfig", + "automlObjectTrackingConfig" + ] + } + }, + "fields": { + "shotChangeDetectionConfig": { + "type": "StreamingShotChangeDetectionConfig", + "id": 2 + }, + "labelDetectionConfig": { + "type": "StreamingLabelDetectionConfig", + "id": 3 + }, + "explicitContentDetectionConfig": { + "type": "StreamingExplicitContentDetectionConfig", + "id": 4 + }, + "objectTrackingConfig": { + "type": "StreamingObjectTrackingConfig", + "id": 5 + }, + "automlActionRecognitionConfig": { + "type": "StreamingAutomlActionRecognitionConfig", + "id": 23 + }, + "automlClassificationConfig": { + "type": "StreamingAutomlClassificationConfig", + "id": 21 + }, + "automlObjectTrackingConfig": { + "type": "StreamingAutomlObjectTrackingConfig", + "id": 22 + }, + "feature": { + "type": "StreamingFeature", + "id": 1 + }, + "storageConfig": { + "type": "StreamingStorageConfig", + "id": 30 + } + } + }, "StreamingAnnotateVideoResponse": { "fields": { "error": { @@ -3086,23 +3184,30 @@ } } }, - "StreamingAutomlClassificationConfig": { - "fields": { - "modelName": { - "type": "string", - "id": 1 - } - } - }, - "StreamingAutomlObjectTrackingConfig": { + "StreamingVideoAnnotationResults": { "fields": { - "modelName": { - "type": "string", + "shotAnnotations": { + "rule": "repeated", + "type": "VideoSegment", "id": 1 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "LabelAnnotation", + "id": 2 + }, + "explicitAnnotation": { + "type": "ExplicitContentAnnotation", + "id": 3 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectTrackingAnnotation", + "id": 4 } } }, - "StreamingExplicitContentDetectionConfig": { + "StreamingShotChangeDetectionConfig": { "fields": {} }, "StreamingLabelDetectionConfig": { @@ -3113,138 +3218,47 @@ } } }, - "StreamingObjectTrackingConfig": { + "StreamingExplicitContentDetectionConfig": { "fields": {} }, - "StreamingShotChangeDetectionConfig": { + "StreamingObjectTrackingConfig": { "fields": {} }, - "StreamingStorageConfig": { + "StreamingAutomlActionRecognitionConfig": { "fields": { - "enableStorageAnnotationResult": { - "type": "bool", - "id": 1 - }, - "annotationResultStorageDirectory": { + "modelName": { "type": "string", - "id": 3 + "id": 1 } } }, - "StreamingVideoAnnotationResults": { + "StreamingAutomlClassificationConfig": { "fields": { - "shotAnnotations": { - "rule": "repeated", - "type": "VideoSegment", + "modelName": { + "type": "string", "id": 1 - }, - "labelAnnotations": { - "rule": "repeated", - "type": "LabelAnnotation", - "id": 2 - }, - "explicitAnnotation": { - "type": "ExplicitContentAnnotation", - "id": 3 - }, - "objectAnnotations": { - "rule": "repeated", - "type": "ObjectTrackingAnnotation", - "id": 4 } } }, - "StreamingVideoConfig": { - "oneofs": { - "streamingConfig": { - "oneof": [ - "shotChangeDetectionConfig", - "labelDetectionConfig", - "explicitContentDetectionConfig", - "objectTrackingConfig", - "automlClassificationConfig", - "automlObjectTrackingConfig" - ] + "StreamingAutomlObjectTrackingConfig": { + "fields": { + "modelName": { + "type": "string", + "id": 1 } - }, + } + }, + "StreamingStorageConfig": { "fields": { - "feature": { - "type": "StreamingFeature", + "enableStorageAnnotationResult": { + "type": "bool", "id": 1 }, - "shotChangeDetectionConfig": { - "type": "StreamingShotChangeDetectionConfig", - "id": 2 - }, - "labelDetectionConfig": { - "type": "StreamingLabelDetectionConfig", + "annotationResultStorageDirectory": { + "type": "string", "id": 3 - }, - "explicitContentDetectionConfig": { - "type": "StreamingExplicitContentDetectionConfig", - "id": 4 - }, - "objectTrackingConfig": { - "type": "StreamingObjectTrackingConfig", - "id": 5 - }, - "automlClassificationConfig": { - "type": "StreamingAutomlClassificationConfig", - "id": 21 - }, - "automlObjectTrackingConfig": { - "type": "StreamingAutomlObjectTrackingConfig", - "id": 22 - }, - "storageConfig": { - "type": "StreamingStorageConfig", - "id": 30 } } - }, - "Feature": { - "values": { - "FEATURE_UNSPECIFIED": 0, - "LABEL_DETECTION": 1, - "SHOT_CHANGE_DETECTION": 2, - "EXPLICIT_CONTENT_DETECTION": 3, - "FACE_DETECTION": 4, - "SPEECH_TRANSCRIPTION": 6, - "TEXT_DETECTION": 7, - "OBJECT_TRACKING": 9, - "LOGO_RECOGNITION": 12, - "CELEBRITY_RECOGNITION": 13, - "PERSON_DETECTION": 14 - } - }, - "LabelDetectionMode": { - "values": { - "LABEL_DETECTION_MODE_UNSPECIFIED": 0, - "SHOT_MODE": 1, - "FRAME_MODE": 2, - "SHOT_AND_FRAME_MODE": 3 - } - }, - "Likelihood": { - "values": { - "LIKELIHOOD_UNSPECIFIED": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - }, - "StreamingFeature": { - "values": { - "STREAMING_FEATURE_UNSPECIFIED": 0, - "STREAMING_LABEL_DETECTION": 1, - "STREAMING_SHOT_CHANGE_DETECTION": 2, - "STREAMING_EXPLICIT_CONTENT_DETECTION": 3, - "STREAMING_OBJECT_TRACKING": 4, - "STREAMING_AUTOML_CLASSIFICATION": 21, - "STREAMING_AUTOML_OBJECT_TRACKING": 22 - } } } } diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 25a31cce21d..5a81fb778fe 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -26,7 +26,7 @@ import * as gapicConfig from './streaming_video_intelligence_service_client_conf const version = require('../../../package.json').version; /** - * Service that implements streaming Google Cloud Video Intelligence API. + * Service that implements streaming Video Intelligence API. * @class * @memberof v1p3beta1 */ diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 3e19cac6675..08c4309c8bf 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -32,7 +32,7 @@ import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. + * Service that implements the Video Intelligence API. * @class * @memberof v1p3beta1 */ @@ -354,34 +354,37 @@ export class VideoIntelligenceServiceClient { * The request object that will be sent. * @param {string} request.inputUri * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: + * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported. URIs must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * multiple videos, a video URI may include wildcards in the `object-id`. + * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. + * in the request as `input_content`. If set, `input_content` must be unset. * @param {Buffer} request.inputContent * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. + * If unset, the input video(s) should be specified via the `input_uri`. + * If set, `input_uri` must be unset. * @param {number[]} request.features * Required. Requested video annotation features. * @param {google.cloud.videointelligence.v1p3beta1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: + * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported. These must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. + * regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, the region will be determined based on video file + * location. * @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. diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index e19d0d57da1..279c5cf8232 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "be4793ebf71ce03c4855b9d3a29037070d11025e" + "sha": "5b8a638478f5b344f5d774b2231bba39e96044f8" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "a3a0bf0f6291d69f2ff3df7fcd63d28ee20ac727", - "internalRef": "310060413" + "sha": "d1a9f02fd4fb263bae0383b4a5af0bbef33753d6", + "internalRef": "312101156" } }, { From 060cad831123ef1cc16c35564b8a7b520c835e81 Mon Sep 17 00:00:00 2001 From: Summer Ji Date: Tue, 2 Jun 2020 15:42:31 -0700 Subject: [PATCH 289/418] fix!: synth.py clean up for multiple version (#436) --- .../src/index.ts | 16 +++++++-------- .../synth.metadata | 20 +++++++++---------- .../google-cloud-videointelligence/synth.py | 13 +++++++++--- .../system-test/fixtures/sample/src/index.js | 1 - .../system-test/fixtures/sample/src/index.ts | 6 +----- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index 5def8117af1..25dd1dcb75c 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/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. @@ -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,9 +21,9 @@ import * as v1beta2 from './v1beta2'; import * as v1p1beta1 from './v1p1beta1'; import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; + const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; -const StreamingVideoIntelligenceServiceClient = - v1p3beta1.StreamingVideoIntelligenceServiceClient; + export { v1, v1beta2, @@ -31,10 +31,7 @@ export { v1p2beta1, v1p3beta1, VideoIntelligenceServiceClient, - StreamingVideoIntelligenceServiceClient, }; -// For compatibility with JavaScript libraries we need to provide this default export: -// tslint:disable-next-line no-default-export export default { v1, v1beta2, @@ -42,5 +39,6 @@ export default { v1p2beta1, v1p3beta1, VideoIntelligenceServiceClient, - StreamingVideoIntelligenceServiceClient, }; +import * as protos from '../protos/protos'; +export {protos}; diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 279c5cf8232..d5923c0e7cb 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,23 +3,23 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "5b8a638478f5b344f5d774b2231bba39e96044f8" + "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "sha": "920a31d31edb068cd70db427698cd3b7b8620da5" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d1a9f02fd4fb263bae0383b4a5af0bbef33753d6", - "internalRef": "312101156" + "sha": "ce56112c3585cae794cc6c066eee175b931bebbc", + "internalRef": "314387187" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "be74d3e532faa47eb59f1a0eaebde0860d1d8ab4" + "sha": "cb3c683e958a4b5c016bb3734436fc1cb887eb7b" } } ], @@ -28,7 +28,7 @@ "client": { "source": "googleapis", "apiName": "video-intelligence", - "apiVersion": "v1", + "apiVersion": "v1beta2", "language": "typescript", "generator": "gapic-generator-typescript" } @@ -37,7 +37,7 @@ "client": { "source": "googleapis", "apiName": "video-intelligence", - "apiVersion": "v1beta2", + "apiVersion": "v1p1beta1", "language": "typescript", "generator": "gapic-generator-typescript" } @@ -46,7 +46,7 @@ "client": { "source": "googleapis", "apiName": "video-intelligence", - "apiVersion": "v1p1beta1", + "apiVersion": "v1p2beta1", "language": "typescript", "generator": "gapic-generator-typescript" } @@ -55,7 +55,7 @@ "client": { "source": "googleapis", "apiName": "video-intelligence", - "apiVersion": "v1p2beta1", + "apiVersion": "v1p3beta1", "language": "typescript", "generator": "gapic-generator-typescript" } @@ -64,7 +64,7 @@ "client": { "source": "googleapis", "apiName": "video-intelligence", - "apiVersion": "v1p3beta1", + "apiVersion": "v1", "language": "typescript", "generator": "gapic-generator-typescript" } diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index 6d5bc6c7bc7..ead9f7d4414 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -11,8 +11,14 @@ common_templates = gcp.CommonTemplates() versions = ["v1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] +default_version = "v1" -for version in versions: +# Rearrange the default version to the last item in the array, to generate appropriate system-test +order_versions = versions.copy() +order_versions.append(order_versions.pop( + order_versions.index(default_version))) + +for version in order_versions: library = gapic.typescript_library( "video-intelligence", version, @@ -25,9 +31,10 @@ ) # skip index, protos, package.json, and README.md - s.copy(library, excludes=["package.json", "README.md", "src/index.ts"]) + s.copy(library, excludes=["package.json", "README.md"]) -templates = common_templates.node_library(source_location='build/src') +templates = common_templates.node_library( + source_location="build/src", versions=versions, default_version=default_version) s.copy(templates) node.postprocess_gapic_library() diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js index ad7c5c54511..69b94d7706d 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js @@ -20,7 +20,6 @@ const videointelligence = require('@google-cloud/video-intelligence'); function main() { - const streamingVideoIntelligenceServiceClient = new videointelligence.StreamingVideoIntelligenceServiceClient(); const videoIntelligenceServiceClient = new videointelligence.VideoIntelligenceServiceClient(); } diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index ff906917cd0..5f19a745b57 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts @@ -16,13 +16,9 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import { - StreamingVideoIntelligenceServiceClient, - VideoIntelligenceServiceClient, -} from '@google-cloud/video-intelligence'; +import {VideoIntelligenceServiceClient} from '@google-cloud/video-intelligence'; function main() { - new StreamingVideoIntelligenceServiceClient(); new VideoIntelligenceServiceClient(); } From 0c708cc8133e4e7c39e3ee27d6a5850139d68191 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2020 16:11:39 -0700 Subject: [PATCH 290/418] chore: release 3.0.0 (#424) --- .../CHANGELOG.md | 20 +++++++++++++++++++ .../package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 19453fb5795..cb36ed8bd02 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,26 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [3.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.10.0...v3.0.0) (2020-06-02) + + +### ⚠ BREAKING CHANGES + +* synth.py clean up for multiple version (#436) +* drop node8, remove eslint, update gax, fix generated protos, run the generator (#423) + +### Features + +* check status of long running operation by its name ([#435](https://www.github.com/googleapis/nodejs-video-intelligence/issues/435)) ([be4793e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/be4793ebf71ce03c4855b9d3a29037070d11025e)) +* drop node8, remove eslint, update gax, fix generated protos, run the generator ([#423](https://www.github.com/googleapis/nodejs-video-intelligence/issues/423)) ([d13bb42](https://www.github.com/googleapis/nodejs-video-intelligence/commit/d13bb4268f3cc6a1c58e3d53cece92db26df4ef2)) +* logo recognition update to GA ([7f02d63](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7f02d6315771b37e4ad473f16a955c4c845b1a83)) +* **v1p3beta1:** added support for streaming automl action recognition. ([#439](https://www.github.com/googleapis/nodejs-video-intelligence/issues/439)) ([2d5809d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2d5809df5293114a20752317dcf34dd2b86629e0)) + + +### Bug Fixes + +* synth.py clean up for multiple version ([#436](https://www.github.com/googleapis/nodejs-video-intelligence/issues/436)) ([fc4d36c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fc4d36c4d112ed75d5c38dd6cad76073e9234253)) + ## [2.10.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.9.0...v2.10.0) (2020-03-18) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3e5085e967f..cdb61451c2e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "2.10.0", + "version": "3.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 8b3c60dd7cd..338f90b00b9 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^2.10.0", + "@google-cloud/video-intelligence": "^3.0.0", "yargs": "^15.0.0" }, "devDependencies": { From 96dbe6ebaf86bf627da6ab6e12e539c11b23eae9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 3 Jun 2020 18:32:15 -0700 Subject: [PATCH 291/418] chore: update protos.js (#440) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/041f5df7-f5d3-4b2a-9ede-0752bf41c185/targets --- .../protos/protos.d.ts | 6 +++++ .../protos/protos.js | 26 +++++++++++++++++-- .../protos/protos.json | 6 ++++- .../synth.metadata | 4 +-- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 8bbdb5a7e7e..6578a8e0941 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -18129,6 +18129,9 @@ export namespace google { /** FieldDescriptorProto options */ options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); } /** Represents a FieldDescriptorProto. */ @@ -18170,6 +18173,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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 68db7eeaf67..f7dc3813959 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -45840,6 +45840,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 */ /** @@ -45937,6 +45938,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 @@ -45981,6 +45990,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; }; @@ -46045,6 +46056,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; @@ -46139,6 +46153,9 @@ if (error) return "options." + error; } + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + if (typeof message.proto3Optional !== "boolean") + return "proto3Optional: boolean expected"; return null; }; @@ -46261,6 +46278,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; }; @@ -46288,6 +46307,7 @@ object.options = null; object.oneofIndex = 0; object.jsonName = ""; + object.proto3Optional = false; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -46309,6 +46329,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; }; @@ -48100,7 +48122,7 @@ * @memberof google.protobuf.FileOptions * @instance */ - FileOptions.prototype.ccEnableArenas = false; + FileOptions.prototype.ccEnableArenas = true; /** * FileOptions objcClassPrefix. @@ -48549,7 +48571,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-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index df467a3f3bf..02db69a7a8a 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -3620,6 +3620,10 @@ "options": { "type": "FieldOptions", "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 } }, "nested": { @@ -3855,7 +3859,7 @@ "type": "bool", "id": 31, "options": { - "default": false + "default": true } }, "objcClassPrefix": { diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index d5923c0e7cb..cc1065300b7 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,8 +3,8 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", - "sha": "920a31d31edb068cd70db427698cd3b7b8620da5" + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", + "sha": "fc4d36c4d112ed75d5c38dd6cad76073e9234253" } }, { From 450ed016645260d251f1a92467e6c675dda31e02 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 11 Jun 2020 17:47:59 +0200 Subject: [PATCH 292/418] chore(deps): update dependency mocha to v8 (#446) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mocha](https://mochajs.org/) ([source](https://togithub.com/mochajs/mocha)) | devDependencies | major | [`^7.0.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/mocha/7.2.0/8.0.1) | --- ### Release Notes
mochajs/mocha ### [`v8.0.1`](https://togithub.com/mochajs/mocha/blob/master/CHANGELOG.md#​801--2020-06-10) [Compare Source](https://togithub.com/mochajs/mocha/compare/v8.0.0...v8.0.1) The obligatory patch after a major. #### :bug: Fixes - [#​4328](https://togithub.com/mochajs/mocha/issues/4328): Fix `--parallel` when combined with `--watch` ([**@​boneskull**](https://togithub.com/boneskull)) ### [`v8.0.0`](https://togithub.com/mochajs/mocha/blob/master/CHANGELOG.md#​800--2020-06-10) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.2.0...v8.0.0) In this major release, Mocha adds the ability to _run tests in parallel_. Better late than never! Please note the **breaking changes** detailed below. Let's welcome [**@​giltayar**](https://togithub.com/giltayar) and [**@​nicojs**](https://togithub.com/nicojs) to the maintenance team! #### :boom: Breaking Changes - [#​4164](https://togithub.com/mochajs/mocha/issues/4164): **Mocha v8.0.0 now requires Node.js v10.0.0 or newer.** Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019 ([**@​UlisesGascon**](https://togithub.com/UlisesGascon)) - [#​4175](https://togithub.com/mochajs/mocha/issues/4175): Having been deprecated with a warning since v7.0.0, **`mocha.opts` is no longer supported** ([**@​juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND:** Replace `mocha.opts` with a [configuration file](https://mochajs.org/#configuring-mocha-nodejs). - [#​4260](https://togithub.com/mochajs/mocha/issues/4260): Remove `enableTimeout()` (`this.enableTimeout()`) from the context object ([**@​craigtaub**](https://togithub.com/craigtaub)) :sparkles: **WORKAROUND:** Replace usage of `this.enableTimeout(false)` in your tests with `this.timeout(0)`. - [#​4315](https://togithub.com/mochajs/mocha/issues/4315): The `spec` option no longer supports a comma-delimited list of files ([**@​juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND**: Use an array instead (e.g., `"spec": "foo.js,bar.js"` becomes `"spec": ["foo.js", "bar.js"]`). - [#​4309](https://togithub.com/mochajs/mocha/issues/4309): Drop support for Node.js v13.x line, which is now End-of-Life ([**@​juergba**](https://togithub.com/juergba)) - [#​4282](https://togithub.com/mochajs/mocha/issues/4282): `--forbid-only` will throw an error even if exclusive tests are avoided via `--grep` or other means ([**@​arvidOtt**](https://togithub.com/arvidOtt)) - [#​4223](https://togithub.com/mochajs/mocha/issues/4223): The context object's `skip()` (`this.skip()`) in a "before all" (`before()`) hook will no longer execute subsequent sibling hooks, in addition to hooks in child suites ([**@​juergba**](https://togithub.com/juergba)) - [#​4178](https://togithub.com/mochajs/mocha/issues/4178): Remove previously soft-deprecated APIs ([**@​wnghdcjfe**](https://togithub.com/wnghdcjfe)): - `Mocha.prototype.ignoreLeaks()` - `Mocha.prototype.useColors()` - `Mocha.prototype.useInlineDiffs()` - `Mocha.prototype.hideDiff()` #### :tada: Enhancements - [#​4245](https://togithub.com/mochajs/mocha/issues/4245): Add ability to run tests in parallel for Node.js (see [docs](https://mochajs.org/#parallel-tests)) ([**@​boneskull**](https://togithub.com/boneskull)) :exclamation: See also [#​4244](https://togithub.com/mochajs/mocha/issues/4244); [Root Hook Plugins (docs)](https://mochajs.org/#root-hook-plugins) -- _root hooks must be defined via Root Hook Plugins to work in parallel mode_ - [#​4304](https://togithub.com/mochajs/mocha/issues/4304): `--require` now works with ES modules ([**@​JacobLey**](https://togithub.com/JacobLey)) - [#​4299](https://togithub.com/mochajs/mocha/issues/4299): In some circumstances, Mocha can run ES modules under Node.js v10 -- _use at your own risk!_ ([**@​giltayar**](https://togithub.com/giltayar)) #### :book: Documentation - [#​4246](https://togithub.com/mochajs/mocha/issues/4246): Add documentation for parallel mode and Root Hook plugins ([**@​boneskull**](https://togithub.com/boneskull)) #### :bug: Fixes (All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)
--- ### 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- packages/google-cloud-videointelligence/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index cdb61451c2e..f16aa1c1a43 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,7 @@ "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", - "mocha": "^7.1.0", + "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.2", diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 338f90b00b9..1eb765ae426 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -20,6 +20,6 @@ }, "devDependencies": { "chai": "^4.2.0", - "mocha": "^7.0.0" + "mocha": "^8.0.0" } } From 0c824d33c8df457e9733ee73f391c6bca70a8a09 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 11 Jun 2020 17:58:12 -0700 Subject: [PATCH 293/418] build(secrets): begin migration to secret manager from keystore (#445) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/8d5e906d-0de4-4e28-b374-7d5fd4a1ce62/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/1c92077459db3dc50741e878f98b08c6261181e0 --- packages/google-cloud-videointelligence/protos/protos.js | 2 +- .../src/v1/video_intelligence_service_client.ts | 7 +++++++ .../src/v1beta2/video_intelligence_service_client.ts | 7 +++++++ .../src/v1p1beta1/video_intelligence_service_client.ts | 7 +++++++ .../src/v1p2beta1/video_intelligence_service_client.ts | 7 +++++++ .../streaming_video_intelligence_service_client.ts | 7 +++++++ .../src/v1p3beta1/video_intelligence_service_client.ts | 7 +++++++ packages/google-cloud-videointelligence/synth.metadata | 4 ++-- packages/google-cloud-videointelligence/tsconfig.json | 2 +- 9 files changed, 46 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index f7dc3813959..64da61f9d63 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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_video_intelligence_2_10_0_protos || ($protobuf.roots._google_cloud_video_intelligence_2_10_0_protos = {}); + var $root = $protobuf.roots._google_cloud_video_intelligence_protos || ($protobuf.roots._google_cloud_video_intelligence_protos = {}); $root.google = (function() { diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 9d18ffcda2f..d5225e783d6 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -97,6 +97,13 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index bd13e9c1d6b..fd4d8805f35 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -97,6 +97,13 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 2fb6488ee0f..c5af40672d1 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -97,6 +97,13 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index f69e54146c1..227958c61c9 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -97,6 +97,13 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 5a81fb778fe..5f5998436fa 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -90,6 +90,13 @@ export class StreamingVideoIntelligenceServiceClient { } 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 08c4309c8bf..02afaad7447 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -97,6 +97,13 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index cc1065300b7..927c10dbbd9 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "fc4d36c4d112ed75d5c38dd6cad76073e9234253" + "sha": "79f411801358ee081969f18db4c96308bd4b1eea" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "cb3c683e958a4b5c016bb3734436fc1cb887eb7b" + "sha": "1c92077459db3dc50741e878f98b08c6261181e0" } } ], diff --git a/packages/google-cloud-videointelligence/tsconfig.json b/packages/google-cloud-videointelligence/tsconfig.json index 613d35597b5..c78f1c884ef 100644 --- a/packages/google-cloud-videointelligence/tsconfig.json +++ b/packages/google-cloud-videointelligence/tsconfig.json @@ -5,7 +5,7 @@ "outDir": "build", "resolveJsonModule": true, "lib": [ - "es2016", + "es2018", "dom" ] }, From ce57f5efd2b3e9b73faded8c3d409856415ed29f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 12 Jun 2020 11:05:42 -0700 Subject: [PATCH 294/418] fix: handle fallback option properly (#447) * 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/video_intelligence_service_client.ts | 13 +++++-------- .../v1beta2/video_intelligence_service_client.ts | 13 +++++-------- .../v1p1beta1/video_intelligence_service_client.ts | 13 +++++-------- .../v1p2beta1/video_intelligence_service_client.ts | 13 +++++-------- .../streaming_video_intelligence_service_client.ts | 13 +++++-------- .../v1p3beta1/video_intelligence_service_client.ts | 13 +++++-------- .../google-cloud-videointelligence/synth.metadata | 4 ++-- 7 files changed, 32 insertions(+), 50 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index d5225e783d6..84fbf0adba9 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -106,14 +106,11 @@ export class VideoIntelligenceServiceClient { // 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 VideoIntelligenceServiceClient 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index fd4d8805f35..892869ecf34 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -106,14 +106,11 @@ export class VideoIntelligenceServiceClient { // 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 VideoIntelligenceServiceClient 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index c5af40672d1..3c16435838a 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -106,14 +106,11 @@ export class VideoIntelligenceServiceClient { // 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 VideoIntelligenceServiceClient 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 227958c61c9..5f90b385efc 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -106,14 +106,11 @@ export class VideoIntelligenceServiceClient { // 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 VideoIntelligenceServiceClient 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 5f5998436fa..2d30452c1e5 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -99,14 +99,11 @@ export class StreamingVideoIntelligenceServiceClient { // 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 StreamingVideoIntelligenceServiceClient 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 02afaad7447..f0a202ead9c 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -106,14 +106,11 @@ export class VideoIntelligenceServiceClient { // 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 VideoIntelligenceServiceClient 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 927c10dbbd9..60a50dd50c1 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "79f411801358ee081969f18db4c96308bd4b1eea" + "sha": "eaee22cabed4bb31842196e0bcb2610daafc6f1c" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "1c92077459db3dc50741e878f98b08c6261181e0" + "sha": "e7034945fbdc0e79d3c57f6e299e5c90b0f11469" } } ], From eb3498cd15f3624fc5870c2c95d938ee62b64d92 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 19 Jun 2020 15:24:56 -0700 Subject: [PATCH 295/418] fix: update node issue template (#449) 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-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 60a50dd50c1..5405fa6aad1 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "eaee22cabed4bb31842196e0bcb2610daafc6f1c" + "sha": "f53981853598015e24900116e8ca9b2d18670336" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "e7034945fbdc0e79d3c57f6e299e5c90b0f11469" + "sha": "b10590a4a1568548dd13cfcea9aa11d40898144b" } } ], From 77c1e7ffdc5866dd94fbe70a54771e42204d204b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 29 Jun 2020 13:26:28 -0700 Subject: [PATCH 296/418] build: add config .gitattributes (#450) 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-videointelligence/.gitattributes | 3 +++ packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.gitattributes diff --git a/packages/google-cloud-videointelligence/.gitattributes b/packages/google-cloud-videointelligence/.gitattributes new file mode 100644 index 00000000000..2e63216ae9c --- /dev/null +++ b/packages/google-cloud-videointelligence/.gitattributes @@ -0,0 +1,3 @@ +*.ts text eol=lf +*.js test eol=lf +protos/* linguist-generated diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 5405fa6aad1..457d3474d07 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "f53981853598015e24900116e8ca9b2d18670336" + "sha": "b3fa3ef1e6648379495d5c94e8dea184b8fcec4d" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "b10590a4a1568548dd13cfcea9aa11d40898144b" + "sha": "dc9caca650c77b7039e2bbc3339ffb34ae78e5b7" } } ], From 2931cb70694c55ec2182865300233d4d9090b5ca Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 29 Jun 2020 14:25:43 -0700 Subject: [PATCH 297/418] chore: release 3.0.1 (#448) --- packages/google-cloud-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index cb36ed8bd02..3c6c2aac5b4 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.0...v3.0.1) (2020-06-29) + + +### Bug Fixes + +* handle fallback option properly ([#447](https://www.github.com/googleapis/nodejs-video-intelligence/issues/447)) ([f539818](https://www.github.com/googleapis/nodejs-video-intelligence/commit/f53981853598015e24900116e8ca9b2d18670336)) +* update node issue template ([#449](https://www.github.com/googleapis/nodejs-video-intelligence/issues/449)) ([b3fa3ef](https://www.github.com/googleapis/nodejs-video-intelligence/commit/b3fa3ef1e6648379495d5c94e8dea184b8fcec4d)) + ## [3.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.10.0...v3.0.0) (2020-06-02) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f16aa1c1a43..eb9a61c4a62 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 1eb765ae426..87174cb67d2 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.0.0", + "@google-cloud/video-intelligence": "^3.0.1", "yargs": "^15.0.0" }, "devDependencies": { From a52647a982eba990c5239afe9da34a6e82f0a279 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 6 Jul 2020 10:17:42 -0700 Subject: [PATCH 298/418] build: use bazel build (#452) --- .../synth.metadata | 44 ++++++++----------- .../google-cloud-videointelligence/synth.py | 13 +----- 2 files changed, 20 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 457d3474d07..7ffa96a65ee 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "b3fa3ef1e6648379495d5c94e8dea184b8fcec4d" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ce56112c3585cae794cc6c066eee175b931bebbc", - "internalRef": "314387187" + "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "sha": "81c92d800f932db89430cd7af2d9e1d73305d499" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "dc9caca650c77b7039e2bbc3339ffb34ae78e5b7" + "sha": "303271797a360f8a439203413f13a160f2f5b3b4" } } ], @@ -27,46 +19,46 @@ { "client": { "source": "googleapis", - "apiName": "video-intelligence", + "apiName": "videointelligence", "apiVersion": "v1beta2", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { "client": { "source": "googleapis", - "apiName": "video-intelligence", + "apiName": "videointelligence", "apiVersion": "v1p1beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { "client": { "source": "googleapis", - "apiName": "video-intelligence", + "apiName": "videointelligence", "apiVersion": "v1p2beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { "client": { "source": "googleapis", - "apiName": "video-intelligence", + "apiName": "videointelligence", "apiVersion": "v1p3beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { "client": { "source": "googleapis", - "apiName": "video-intelligence", + "apiName": "videointelligence", "apiVersion": "v1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } } ] diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py index ead9f7d4414..338606b4d73 100644 --- a/packages/google-cloud-videointelligence/synth.py +++ b/packages/google-cloud-videointelligence/synth.py @@ -7,7 +7,7 @@ AUTOSYNTH_MULTIPLE_COMMITS = True -gapic = gcp.GAPICMicrogenerator() +gapic = gcp.GAPICBazel() common_templates = gcp.CommonTemplates() versions = ["v1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] @@ -19,16 +19,7 @@ order_versions.index(default_version))) for version in order_versions: - library = gapic.typescript_library( - "video-intelligence", - version, - generator_args={ - "grpc-service-config": f"google/cloud/videointelligence/{version}/videointelligence_grpc_service_config.json", - "package-name": "@google-cloud/video-intelligence", - "main-service": "videointelligence", - }, - proto_path=f'/google/cloud/videointelligence/{version}', - ) + library = gapic.node_library("videointelligence", version) # skip index, protos, package.json, and README.md s.copy(library, excludes=["package.json", "README.md"]) From 50077c00b7af8933f5c5fd63facf89b703a41d5d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 9 Jul 2020 23:26:41 -0700 Subject: [PATCH 299/418] build: typeo in nodejs .gitattribute (#456) 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 --- .../google-cloud-videointelligence/.gitattributes | 2 +- .../google-cloud-videointelligence/synth.metadata | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/.gitattributes b/packages/google-cloud-videointelligence/.gitattributes index 2e63216ae9c..d4f4169b28b 100644 --- a/packages/google-cloud-videointelligence/.gitattributes +++ b/packages/google-cloud-videointelligence/.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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 7ffa96a65ee..f5d04857006 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,15 +3,23 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", - "sha": "81c92d800f932db89430cd7af2d9e1d73305d499" + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", + "sha": "9c1de7477e7a050cc6da128d066ba07e81142970" + } + }, + { + "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 216497c25c46f0b6ce8a70c201417b3666d91b3b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 10 Jul 2020 18:52:55 +0200 Subject: [PATCH 300/418] chore(deps): update dependency ts-loader to v8 (#455) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index eb9a61c4a62..7d8d63aa9d0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -60,7 +60,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.2", - "ts-loader": "^7.0.0", + "ts-loader": "^8.0.0", "typescript": "^3.8.3", "webpack": "^4.42.0", "webpack-cli": "^3.3.11" From 4ab19c7691d74ccb71a2b198588f0ca1f25c8da4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sun, 12 Jul 2020 18:47:58 +0200 Subject: [PATCH 301/418] chore(deps): update dependency @types/mocha to v8 (#457) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@types/mocha](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | devDependencies | major | [`^7.0.0` -> `^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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 7d8d63aa9d0..4c7462eb5c5 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -47,7 +47,7 @@ "google-gax": "^2.1.0" }, "devDependencies": { - "@types/mocha": "^7.0.0", + "@types/mocha": "^8.0.0", "@types/node": "^12.12.29", "@types/sinon": "^9.0.0", "c8": "^7.0.0", From 7277ba194663eabf95639bee86bac07f28919e7d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 Jul 2020 10:12:58 -0700 Subject: [PATCH 302/418] build: add Node 8 tests (#459) 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-videointelligence/synth.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f5d04857006..6c1d2577ea0 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "9c1de7477e7a050cc6da128d066ba07e81142970" + "sha": "74308b5e9930b4cdbbaad2fb87ec5d7b6537afbc" } }, { From 0ea807f38df898a28af90262db3f4da5e11ee544 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 Jul 2020 12:44:59 -0700 Subject: [PATCH 303/418] build: missing parenthesis in publish script, delete Node 8 tests, add config for cloud-rad for nodejs (#460) 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. Source-Link: https://github.com/googleapis/synthtool/commit/21f1470ecd01424dc91c70f1a7c798e4e87d1eec Source-Link: https://github.com/googleapis/synthtool/commit/388e10f5ae302d3e8de1fac99f3a95d1ab8f824a Source-Link: https://github.com/googleapis/synthtool/commit/d82deccf657a66e31bd5da9efdb96c6fa322fc7e --- .../api-extractor.json | 369 ++++++++++++++++++ .../synth.metadata | 2 +- 2 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-videointelligence/api-extractor.json diff --git a/packages/google-cloud-videointelligence/api-extractor.json b/packages/google-cloud-videointelligence/api-extractor.json new file mode 100644 index 00000000000..de228294b23 --- /dev/null +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 6c1d2577ea0..881e993341a 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "799d8e6522c1ef7cb55a70d9ea0b15e045c3d00b" + "sha": "21f1470ecd01424dc91c70f1a7c798e4e87d1eec" } } ], From 48fcb2382108ac9fb5b2b619230bb53d62ee3af2 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Tue, 21 Jul 2020 14:43:23 -0400 Subject: [PATCH 304/418] chore: add dev dependencies for cloud-rad ref docs (#461) --- packages/google-cloud-videointelligence/package.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4c7462eb5c5..ade38962d84 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/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-gax": "^2.1.0" @@ -63,6 +65,8 @@ "ts-loader": "^8.0.0", "typescript": "^3.8.3", "webpack": "^4.42.0", - "webpack-cli": "^3.3.11" + "webpack-cli": "^3.3.11", + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10" } } From ed1c80a854ebf1c9c2379e8ecee6b714f7ad69ef Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 22 Jul 2020 17:29:17 -0700 Subject: [PATCH 305/418] build: rename _toc to toc (#462) 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 --- packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 881e993341a..7ff95443763 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "74308b5e9930b4cdbbaad2fb87ec5d7b6537afbc" + "sha": "6af76daad186750057ed21e0fa6d6be9d2f0d05e" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "21f1470ecd01424dc91c70f1a7c798e4e87d1eec" + "sha": "99c93fe09f8c1dca09dfc0301c8668e3a70dd796" } } ], From 75c5876a2a1132769bf631f692b2ab35ea9202eb Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 25 Jul 2020 18:34:10 -0700 Subject: [PATCH 306/418] build: move gitattributes files to node templates (#463) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/f56f9859-283a-4408-9b85-96008c1bf914/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3 --- packages/google-cloud-videointelligence/.gitattributes | 1 + packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.gitattributes b/packages/google-cloud-videointelligence/.gitattributes index d4f4169b28b..33739cb74e4 100644 --- a/packages/google-cloud-videointelligence/.gitattributes +++ b/packages/google-cloud-videointelligence/.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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 7ff95443763..9760c215d1f 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "6af76daad186750057ed21e0fa6d6be9d2f0d05e" + "sha": "c757859f4a42df30ab3fd820f1a709bf7adc936e" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "99c93fe09f8c1dca09dfc0301c8668e3a70dd796" + "sha": "3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3" } } ], From e2e9559912f90ca6f1ea0fa5875ba9bbac428365 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 30 Jul 2020 16:54:08 -0700 Subject: [PATCH 307/418] docs: link to CHANGELOG in README (#465) --- packages/google-cloud-videointelligence/README.md | 3 +++ packages/google-cloud-videointelligence/protos/protos.d.ts | 2 +- packages/google-cloud-videointelligence/protos/protos.js | 2 +- packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 9690d8b03e6..f0c101b161f 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -14,6 +14,9 @@ Google Cloud Video Intelligence API client for Node.js +A comprehensive list of changes in each version may be found in +[the CHANGELOG](https://github.com/googleapis/nodejs-video-intelligence/blob/master/CHANGELOG.md). + * [Google Cloud Video Intelligence Node.js Client API Reference][client-docs] * [Google Cloud Video Intelligence Documentation][product-docs] * [github.com/googleapis/nodejs-video-intelligence](https://github.com/googleapis/nodejs-video-intelligence) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 6578a8e0941..5111d4ef88d 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 64da61f9d63..8fe28d954eb 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 9760c215d1f..1f8df8327d1 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "c757859f4a42df30ab3fd820f1a709bf7adc936e" + "sha": "469c4a55a9deee620fb046109facc271dcc6569b" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3" + "sha": "5936421202fb53ed4641bcb824017dd393a3dbcc" } } ], From 7f7ccd0a220f9b8a449bb587b29d4553de0c3681 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 10 Aug 2020 19:16:14 -0700 Subject: [PATCH 308/418] build: --credential-file-override is no longer required (#466) @chingor13 has configured our runtime environment, such that we no longer need to explicitly provide a credentials file. How does this magic work, I didn't fully understand? Source-Author: Benjamin E. Coe Source-Date: Fri Aug 7 19:02:09 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 94421c47802f56a44c320257b2b4c190dc7d6b68 Source-Link: https://github.com/googleapis/synthtool/commit/94421c47802f56a44c320257b2b4c190dc7d6b68 --- packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 1f8df8327d1..e4838b4566c 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "469c4a55a9deee620fb046109facc271dcc6569b" + "sha": "dc10593b9f0606be967339bae54051dc8ff0adb1" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "5936421202fb53ed4641bcb824017dd393a3dbcc" + "sha": "94421c47802f56a44c320257b2b4c190dc7d6b68" } } ], From 0d0bfed1921df258b6fd8bfc9c86576f2fd18aed Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Aug 2020 09:10:07 -0700 Subject: [PATCH 309/418] build: use gapic-generator-typescript v1.0.7. (#467) This new generator will bring some changes to the generated code across all libraries, but the behavior will only change for nodejs-logging and nodejs-pubsub (those two libraries that use request batching). For other libraries, the changes should be minor (the createApiCall call is simplified) and it should be safe to merge them. Please talk to @alexander-fenster if you have any questions. PiperOrigin-RevId: 325949033 Source-Author: Google APIs Source-Date: Mon Aug 10 21:11:13 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: 94006b3cb8d2fb44703cf535da15608eed6bf7db Source-Link: https://github.com/googleapis/googleapis/commit/94006b3cb8d2fb44703cf535da15608eed6bf7db --- .../src/v1/video_intelligence_service_client.ts | 5 ++--- .../src/v1beta2/video_intelligence_service_client.ts | 5 ++--- .../src/v1p1beta1/video_intelligence_service_client.ts | 5 ++--- .../src/v1p2beta1/video_intelligence_service_client.ts | 5 ++--- .../streaming_video_intelligence_service_client.ts | 5 ++--- .../src/v1p3beta1/video_intelligence_service_client.ts | 5 ++--- packages/google-cloud-videointelligence/synth.metadata | 6 +++--- 7 files changed, 15 insertions(+), 21 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 84fbf0adba9..c5a33ade5c1 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -247,12 +247,11 @@ export class VideoIntelligenceServiceClient { } ); + 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 892869ecf34..b9219e893ac 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -247,12 +247,11 @@ export class VideoIntelligenceServiceClient { } ); + 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 3c16435838a..7194c6815b7 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -247,12 +247,11 @@ export class VideoIntelligenceServiceClient { } ); + 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 5f90b385efc..1b9b0db8699 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -247,12 +247,11 @@ export class VideoIntelligenceServiceClient { } ); + 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 2d30452c1e5..ba3db489b6a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -219,12 +219,11 @@ export class StreamingVideoIntelligenceServiceClient { } ); + const descriptor = this.descriptors.stream[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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index f0a202ead9c..e7d86ad8435 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -247,12 +247,11 @@ export class VideoIntelligenceServiceClient { } ); + 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index e4838b4566c..edcfe7be953 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "dc10593b9f0606be967339bae54051dc8ff0adb1" + "sha": "aeac641779ced9968949b5dd030bd1be0d1f1f6c" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4f4aa3a03e470f1390758b9d89eb1aa88837a5be", - "internalRef": "320300472" + "sha": "94006b3cb8d2fb44703cf535da15608eed6bf7db", + "internalRef": "325949033" } }, { From f4e39b244ae3adb3f0fafb818654614706968f1d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Aug 2020 09:36:04 -0700 Subject: [PATCH 310/418] build: update docs and publish scripts (#468) 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. Source-Link: https://github.com/googleapis/synthtool/commit/5747555f7620113d9a2078a48f4c047a99d31b3e Source-Link: https://github.com/googleapis/synthtool/commit/bd0deaa1113b588d70449535ab9cbf0f2bd0e72f --- packages/google-cloud-videointelligence/synth.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index edcfe7be953..0d4ed664ffc 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "94421c47802f56a44c320257b2b4c190dc7d6b68" + "sha": "5747555f7620113d9a2078a48f4c047a99d31b3e" } } ], From 154054990524e90a980f6980929e12097225db42 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 19 Aug 2020 22:08:22 -0700 Subject: [PATCH 311/418] chore: start tracking obsolete files --- .../synth.metadata | 108 +++++++++++++++++- 1 file changed, 104 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 0d4ed664ffc..805d3d7a19f 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "aeac641779ced9968949b5dd030bd1be0d1f1f6c" + "sha": "8691f8873ba0026f7110d29ced7c5a5403de8a10" } }, { "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,105 @@ "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.2422662572", + "protos/google/cloud/videointelligence/v1/video_intelligence.proto", + "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto", + "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto", + "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto", + "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto", + "protos/protos.d.ts", + "protos/protos.js", + "protos/protos.json", + "renovate.json", + "samples/README.md", + "samples/package-lock.json.2298634620", + "src/index.ts", + "src/v1/index.ts", + "src/v1/video_intelligence_service_client.ts", + "src/v1/video_intelligence_service_client_config.json", + "src/v1/video_intelligence_service_proto_list.json", + "src/v1beta2/index.ts", + "src/v1beta2/video_intelligence_service_client.ts", + "src/v1beta2/video_intelligence_service_client_config.json", + "src/v1beta2/video_intelligence_service_proto_list.json", + "src/v1p1beta1/index.ts", + "src/v1p1beta1/video_intelligence_service_client.ts", + "src/v1p1beta1/video_intelligence_service_client_config.json", + "src/v1p1beta1/video_intelligence_service_proto_list.json", + "src/v1p2beta1/index.ts", + "src/v1p2beta1/video_intelligence_service_client.ts", + "src/v1p2beta1/video_intelligence_service_client_config.json", + "src/v1p2beta1/video_intelligence_service_proto_list.json", + "src/v1p3beta1/index.ts", + "src/v1p3beta1/streaming_video_intelligence_service_client.ts", + "src/v1p3beta1/streaming_video_intelligence_service_client_config.json", + "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json", + "src/v1p3beta1/video_intelligence_service_client.ts", + "src/v1p3beta1/video_intelligence_service_client_config.json", + "src/v1p3beta1/video_intelligence_service_proto_list.json", + "system-test/fixtures/sample/src/index.js", + "system-test/fixtures/sample/src/index.ts", + "system-test/install.ts", + "test/gapic_streaming_video_intelligence_service_v1p3beta1.ts", + "test/gapic_video_intelligence_service_v1.ts", + "test/gapic_video_intelligence_service_v1beta2.ts", + "test/gapic_video_intelligence_service_v1p1beta1.ts", + "test/gapic_video_intelligence_service_v1p2beta1.ts", + "test/gapic_video_intelligence_service_v1p3beta1.ts", + "tsconfig.json", + "webpack.config.js" ] } \ No newline at end of file From f152818422fa37762ab35fcc96179152500b4e43 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 21 Aug 2020 16:30:20 -0700 Subject: [PATCH 312/418] build: move system and samples test from Node 10 to Node 12 (#470) 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 --- .../synth.metadata | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 805d3d7a19f..b0fbdcb56d8 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "8691f8873ba0026f7110d29ced7c5a5403de8a10" + "sha": "b0f47af3a4ded65fd8829e971421b75b7ffe6ff1" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4c5071b615d96ef9dfd6a63d8429090f1f2872bb", - "internalRef": "327369997" + "sha": "fea9b1a2424c3982a4e894f502792e8b21506c1b", + "internalRef": "327704565" } }, { "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.2422662572", "protos/google/cloud/videointelligence/v1/video_intelligence.proto", "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto", "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto", @@ -133,7 +132,6 @@ "protos/protos.json", "renovate.json", "samples/README.md", - "samples/package-lock.json.2298634620", "src/index.ts", "src/v1/index.ts", "src/v1/video_intelligence_service_client.ts", From 360342390309bf7cb6361a9e692a7757190c7f1b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 27 Aug 2020 09:26:30 -0700 Subject: [PATCH 313/418] build: track flaky tests for "nightly", add new secrets for tagging (#473) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/a94ea37f-bfd6-4053-ac90-1b88b224a0b0/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/8cf6d2834ad14318e64429c3b94f6443ae83daf9 --- packages/google-cloud-videointelligence/synth.metadata | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index b0fbdcb56d8..f5ea7da392d 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "b0f47af3a4ded65fd8829e971421b75b7ffe6ff1" + "sha": "168eabded5d7f54663eafd0fce8cddad0f9030f7" } }, { @@ -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 1bb2631d760f45cbaa68cf75fadefed210bcc083 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 12 Sep 2020 14:06:10 -0700 Subject: [PATCH 314/418] build(test): recursively find test files; fail on unsupported dependency versions (#476) 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-videointelligence/.mocharc.js | 3 ++- packages/google-cloud-videointelligence/synth.metadata | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/.mocharc.js b/packages/google-cloud-videointelligence/.mocharc.js index ff7b34fa5d1..0b600509bed 100644 --- a/packages/google-cloud-videointelligence/.mocharc.js +++ b/packages/google-cloud-videointelligence/.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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f5ea7da392d..23255795790 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "168eabded5d7f54663eafd0fce8cddad0f9030f7" + "sha": "79edd638315c6a2009c29ff70b3e36599bba4174" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "8cf6d2834ad14318e64429c3b94f6443ae83daf9" + "sha": "fdd03c161003ab97657cc0218f25c82c89ddf4b6" } } ], From bd892914728c6107cdfb2189926030091e45dede Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 28 Sep 2020 13:47:29 -0700 Subject: [PATCH 315/418] GA launch for PersonDetection and FaceDetection features. (#477) PiperOrigin-RevId: 334093713 Source-Author: Google APIs Source-Date: Sun Sep 27 23:41:00 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: e7375a91e7942c562c61495a908f4f6d50b4ea3f Source-Link: https://github.com/googleapis/googleapis/commit/e7375a91e7942c562c61495a908f4f6d50b4ea3f --- .../v1/video_intelligence.proto | 186 ++- .../protos/protos.d.ts | 339 ++++- .../protos/protos.js | 1126 +++++++++++++++-- .../protos/protos.json | 85 +- .../v1/video_intelligence_service_client.ts | 35 +- .../synth.metadata | 6 +- 6 files changed, 1580 insertions(+), 197 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 9dcfda55edd..5b3a3e343c2 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -32,16 +32,18 @@ option java_package = "com.google.cloud.videointelligence.v1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1"; option ruby_package = "Google::Cloud::VideoIntelligence::V1"; -// Service that implements Google Cloud Video Intelligence API. +// Service that implements the Video Intelligence API. service VideoIntelligenceService { option (google.api.default_host) = "videointelligence.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/videos:annotate" body: "*" @@ -57,20 +59,21 @@ service VideoIntelligenceService { // Video annotation request. message AnnotateVideoRequest { // Input video location. Currently, only - // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - // supported, which must be specified in the following format: + // [Cloud Storage](https://cloud.google.com/storage/) URIs are + // supported. URIs must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + // multiple videos, a video URI may include wildcards in the `object-id`. + // Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded - // in the request as `input_content`. If set, `input_content` should be unset. + // in the request as `input_content`. If set, `input_content` must be unset. string input_uri = 1; // The video data bytes. - // If unset, the input video(s) should be specified via `input_uri`. - // If set, `input_uri` should be unset. + // If unset, the input video(s) should be specified via the `input_uri`. + // If set, `input_uri` must be unset. bytes input_content = 6; // Required. Requested video annotation features. @@ -80,16 +83,18 @@ message AnnotateVideoRequest { VideoContext video_context = 3; // Optional. Location where the output (in JSON format) should be stored. - // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - // URIs are supported, which must be specified in the following format: + // Currently, only [Cloud Storage](https://cloud.google.com/storage/) + // URIs are supported. These must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud - // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - // is specified, a region will be determined based on video file location. + // regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + // region is specified, the region will be determined based on video file + // location. string location_id = 5 [(google.api.field_behavior) = OPTIONAL]; } @@ -118,6 +123,9 @@ message VideoContext { // Config for TEXT_DETECTION. TextDetectionConfig text_detection_config = 8; + // Config for PERSON_DETECTION. + PersonDetectionConfig person_detection_config = 11; + // Config for OBJECT_TRACKING. ObjectTrackingConfig object_tracking_config = 13; } @@ -136,7 +144,7 @@ enum Feature { // Explicit content detection. EXPLICIT_CONTENT_DETECTION = 3; - // Human face detection and tracking. + // Human face detection. FACE_DETECTION = 4; // Speech transcription. @@ -150,6 +158,9 @@ enum Feature { // Logo detection, tracking, and recognition. LOGO_RECOGNITION = 12; + + // Person detection. + PERSON_DETECTION = 14; } // Label detection mode. @@ -195,9 +206,9 @@ message LabelDetectionConfig { // If unspecified, defaults to `SHOT_MODE`. LabelDetectionMode label_detection_mode = 1; - // Whether the video has been shot from a stationary (i.e. non-moving) camera. - // When set to true, might improve detection accuracy for moving objects. - // Should be used with `SHOT_AND_FRAME_MODE` enabled. + // Whether the video has been shot from a stationary (i.e., non-moving) + // camera. When set to true, might improve detection accuracy for moving + // objects. Should be used with `SHOT_AND_FRAME_MODE` enabled. bool stationary_camera = 2; // Model to use for label detection. @@ -209,15 +220,15 @@ message LabelDetectionConfig { // frame-level detection. If not set, it is set to 0.4 by default. The valid // range for this threshold is [0.1, 0.9]. Any value set outside of this // range will be clipped. - // Note: for best results please follow the default threshold. We will update + // Note: For best results, follow the default threshold. We will update // the default threshold everytime when we release a new model. float frame_confidence_threshold = 4; // The confidence threshold we perform filtering on the labels from - // video-level and shot-level detections. If not set, it is set to 0.3 by + // video-level and shot-level detections. If not set, it's set to 0.3 by // default. The valid range for this threshold is [0.1, 0.9]. Any value set // outside of this range will be clipped. - // Note: for best results please follow the default threshold. We will update + // Note: For best results, follow the default threshold. We will update // the default threshold everytime when we release a new model. float video_confidence_threshold = 5; } @@ -245,8 +256,29 @@ message FaceDetectionConfig { // "builtin/latest". string model = 1; - // Whether bounding boxes be included in the face annotation output. + // Whether bounding boxes are included in the face annotation output. bool include_bounding_boxes = 2; + + // Whether to enable face attributes detection, such as glasses, dark_glasses, + // mouth_open etc. Ignored if 'include_bounding_boxes' is set to false. + bool include_attributes = 5; +} + +// Config for PERSON_DETECTION. +message PersonDetectionConfig { + // Whether bounding boxes are included in the person detection annotation + // output. + bool include_bounding_boxes = 1; + + // Whether to enable pose landmarks detection. Ignored if + // 'include_bounding_boxes' is set to false. + bool include_pose_landmarks = 2; + + // Whether to enable person attributes detection, such as cloth color (black, + // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair, + // etc. + // Ignored if 'include_bounding_boxes' is set to false. + bool include_attributes = 3; } // Config for EXPLICIT_CONTENT_DETECTION. @@ -309,7 +341,7 @@ message Entity { // API](https://developers.google.com/knowledge-graph/). string entity_id = 1; - // Textual description, e.g. `Fixed-gear bicycle`. + // Textual description, e.g., `Fixed-gear bicycle`. string description = 2; // Language code for `description` in BCP-47 format. @@ -322,9 +354,9 @@ message LabelAnnotation { Entity entity = 1; // Common categories for the detected entity. - // E.g. when the label is `Terrier` the category is likely `dog`. And in some - // cases there might be more than one categories e.g. `Terrier` could also be - // a `pet`. + // For example, when the label is `Terrier`, the category is likely `dog`. And + // in some cases there might be more than one categories e.g., `Terrier` could + // also be a `pet`. repeated Entity category_entities = 2; // All video segments where a label was detected. @@ -332,6 +364,9 @@ message LabelAnnotation { // All video frames where a label was detected. repeated LabelFrame frames = 4; + + // Feature version. + string version = 5; } // Video frame level annotation results for explicit content. @@ -350,6 +385,9 @@ message ExplicitContentFrame { message ExplicitContentAnnotation { // All video frames where explicit content was detected. repeated ExplicitContentFrame frames = 1; + + // Feature version. + string version = 2; } // Normalized bounding box. @@ -369,14 +407,31 @@ message NormalizedBoundingBox { float bottom = 4; } +// Face detection annotation. +message FaceDetectionAnnotation { + // Feature version. + string version = 5; +} + +// Person detection annotation per video. +message PersonDetectionAnnotation { + // The detected tracks of a person. + repeated Track tracks = 1; + + // Feature version. + string version = 2; +} + // Video segment level annotation results for face detection. message FaceSegment { // Video segment where a face was detected. VideoSegment segment = 1; } -// Video frame level annotation results for face detection. +// Deprecated. No effect. message FaceFrame { + option deprecated = true; + // Normalized Bounding boxes in a frame. // There can be more than one boxes if the same face is detected in multiple // locations within the current frame. @@ -387,8 +442,10 @@ message FaceFrame { google.protobuf.Duration time_offset = 2; } -// Face annotation. +// Deprecated. No effect. message FaceAnnotation { + option deprecated = true; + // Thumbnail of a representative face view (in JPEG format). bytes thumbnail = 1; @@ -411,10 +468,12 @@ message TimestampedObject { google.protobuf.Duration time_offset = 2; // Optional. The attributes of the object in the bounding box. - repeated DetectedAttribute attributes = 3 [(google.api.field_behavior) = OPTIONAL]; + repeated DetectedAttribute attributes = 3 + [(google.api.field_behavior) = OPTIONAL]; // Optional. The detected landmarks. - repeated DetectedLandmark landmarks = 4 [(google.api.field_behavior) = OPTIONAL]; + repeated DetectedLandmark landmarks = 4 + [(google.api.field_behavior) = OPTIONAL]; } // A track of an object instance. @@ -426,7 +485,8 @@ message Track { repeated TimestampedObject timestamped_objects = 2; // Optional. Attributes in the track level. - repeated DetectedAttribute attributes = 3 [(google.api.field_behavior) = OPTIONAL]; + repeated DetectedAttribute attributes = 3 + [(google.api.field_behavior) = OPTIONAL]; // Optional. The confidence score of the tracked object. float confidence = 4 [(google.api.field_behavior) = OPTIONAL]; @@ -434,7 +494,7 @@ message Track { // A generic detected attribute represented by name in string format. message DetectedAttribute { - // The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + // The name of the attribute, for example, glasses, dark_glasses, mouth_open. // A full list of supported type names will be provided in the document. string name = 1; @@ -449,7 +509,7 @@ message DetectedAttribute { // A generic detected landmark represented by name in string format and a 2D // location. message DetectedLandmark { - // The name of this landmark, i.e. left_hand, right_shoulder. + // The name of this landmark, for example, left_hand, right_shoulder. string name = 1; // The 2D point of the detected landmark using the normalized image @@ -463,17 +523,17 @@ message DetectedLandmark { // Annotation results for a single video. message VideoAnnotationResults { // Video file location in - // [Google Cloud Storage](https://cloud.google.com/storage/). + // [Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; // Video segment on which the annotation is run. VideoSegment segment = 10; - // Topical label annotations on video level or user specified segment level. + // Topical label annotations on video level or user-specified segment level. // There is exactly one element for each unique label. repeated LabelAnnotation segment_label_annotations = 2; - // Presence label annotations on video level or user specified segment level. + // Presence label annotations on video level or user-specified segment level. // There is exactly one element for each unique label. Compared to the // existing topical `segment_label_annotations`, this field presents more // fine-grained, segment-level labels detected in video content and is made @@ -496,8 +556,11 @@ message VideoAnnotationResults { // There is exactly one element for each unique label. repeated LabelAnnotation frame_label_annotations = 4; - // Face annotations. There is exactly one element for each unique face. - repeated FaceAnnotation face_annotations = 5; + // Deprecated. Please use `face_detection_annotations` instead. + repeated FaceAnnotation face_annotations = 5 [deprecated = true]; + + // Face detection annotations. + repeated FaceDetectionAnnotation face_detection_annotations = 13; // Shot annotations. Each shot is represented as a video segment. repeated VideoSegment shot_annotations = 6; @@ -519,6 +582,9 @@ message VideoAnnotationResults { // Annotations for list of logos detected, tracked and recognized in video. repeated LogoRecognitionAnnotation logo_recognition_annotations = 19; + // Person detection annotations. + repeated PersonDetectionAnnotation person_detection_annotations = 20; + // If set, indicates an error. Note that for a single `AnnotateVideoRequest` // some videos may succeed and some may fail. google.rpc.Status error = 9; @@ -535,7 +601,7 @@ message AnnotateVideoResponse { // Annotation progress for a single video. message VideoAnnotationProgress { // Video file location in - // [Google Cloud Storage](https://cloud.google.com/storage/). + // [Cloud Storage](https://cloud.google.com/storage/). string input_uri = 1; // Approximate percentage processed thus far. Guaranteed to be @@ -549,11 +615,11 @@ message VideoAnnotationProgress { google.protobuf.Timestamp update_time = 4; // Specifies which feature is being tracked if the request contains more than - // one features. + // one feature. Feature feature = 5; // Specifies which segment is being tracked if the request contains more than - // one segments. + // one segment. VideoSegment segment = 6; } @@ -588,7 +654,8 @@ message SpeechTranscriptionConfig { bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. A means to provide context to assist the speech recognition. - repeated SpeechContext speech_contexts = 4 [(google.api.field_behavior) = OPTIONAL]; + repeated SpeechContext speech_contexts = 4 + [(google.api.field_behavior) = OPTIONAL]; // Optional. If 'true', adds punctuation to recognition result hypotheses. // This feature is only available in select languages. Setting this for @@ -596,7 +663,8 @@ message SpeechTranscriptionConfig { // does not add punctuation to result hypotheses. NOTE: "This is currently // offered as an experimental service, complimentary to all users. In the // future this may be exclusively available as a premium feature." - bool enable_automatic_punctuation = 5 [(google.api.field_behavior) = OPTIONAL]; + bool enable_automatic_punctuation = 5 + [(google.api.field_behavior) = OPTIONAL]; // Optional. For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. @@ -606,14 +674,14 @@ message SpeechTranscriptionConfig { // the top alternative of the recognition result using a speaker_tag provided // in the WordInfo. // Note: When this is true, we send all the words from the beginning of the - // audio for the top alternative in every consecutive responses. + // audio for the top alternative in every consecutive response. // This is done in order to improve our speaker tags as our models learn to // identify the speakers in the conversation over time. bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If set, specifies the estimated number of speakers in the conversation. - // If not set, defaults to '2'. - // Ignored unless enable_speaker_diarization is set to true. + // Optional. If set, specifies the estimated number of speakers in the + // conversation. If not set, defaults to '2'. Ignored unless + // enable_speaker_diarization is set to true. int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL]; // Optional. If `true`, the top result includes a list of words and the @@ -642,9 +710,9 @@ message SpeechTranscription { // ranked by the recognizer. repeated SpeechRecognitionAlternative alternatives = 1; - // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of - // the language in this result. This language code was detected to have the - // most likelihood of being spoken in the audio. + // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) + // language tag of the language in this result. This language code was + // detected to have the most likelihood of being spoken in the audio. string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } @@ -662,8 +730,8 @@ message SpeechRecognitionAlternative { float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A list of word-specific information for each recognized word. - // Note: When `enable_speaker_diarization` is true, you will see all the words - // from the beginning of the audio. + // Note: When `enable_speaker_diarization` is set to true, you will see all + // the words from the beginning of the audio. repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } @@ -767,6 +835,9 @@ message TextAnnotation { // All video segments where OCR detected text appears. repeated TextSegment segments = 2; + + // Feature version. + string version = 3; } // Video frame level annotations for object detection and tracking. This field @@ -808,6 +879,9 @@ message ObjectTrackingAnnotation { // messages in frames. // Streaming mode: it can only be one ObjectTrackingFrame message in frames. repeated ObjectTrackingFrame frames = 2; + + // Feature version. + string version = 6; } // Annotation corresponding to one detected, tracked and recognized logo class. diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 5111d4ef88d..68341c20ae5 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -215,6 +215,9 @@ export namespace google { /** VideoContext textDetectionConfig */ textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null); + /** VideoContext personDetectionConfig */ + personDetectionConfig?: (google.cloud.videointelligence.v1.IPersonDetectionConfig|null); + /** VideoContext objectTrackingConfig */ objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null); } @@ -249,6 +252,9 @@ export namespace google { /** VideoContext textDetectionConfig. */ public textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null); + /** VideoContext personDetectionConfig. */ + public personDetectionConfig?: (google.cloud.videointelligence.v1.IPersonDetectionConfig|null); + /** VideoContext objectTrackingConfig. */ public objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null); @@ -333,7 +339,8 @@ export namespace google { SPEECH_TRANSCRIPTION = 6, TEXT_DETECTION = 7, OBJECT_TRACKING = 9, - LOGO_RECOGNITION = 12 + LOGO_RECOGNITION = 12, + PERSON_DETECTION = 14 } /** LabelDetectionMode enum. */ @@ -656,6 +663,9 @@ export namespace google { /** FaceDetectionConfig includeBoundingBoxes */ includeBoundingBoxes?: (boolean|null); + + /** FaceDetectionConfig includeAttributes */ + includeAttributes?: (boolean|null); } /** Represents a FaceDetectionConfig. */ @@ -673,6 +683,9 @@ export namespace google { /** FaceDetectionConfig includeBoundingBoxes. */ public includeBoundingBoxes: boolean; + /** FaceDetectionConfig includeAttributes. */ + public includeAttributes: boolean; + /** * Creates a new FaceDetectionConfig instance using the specified properties. * @param [properties] Properties to set @@ -744,6 +757,108 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a PersonDetectionConfig. */ + interface IPersonDetectionConfig { + + /** PersonDetectionConfig includeBoundingBoxes */ + includeBoundingBoxes?: (boolean|null); + + /** PersonDetectionConfig includePoseLandmarks */ + includePoseLandmarks?: (boolean|null); + + /** PersonDetectionConfig includeAttributes */ + includeAttributes?: (boolean|null); + } + + /** Represents a PersonDetectionConfig. */ + class PersonDetectionConfig implements IPersonDetectionConfig { + + /** + * Constructs a new PersonDetectionConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IPersonDetectionConfig); + + /** PersonDetectionConfig includeBoundingBoxes. */ + public includeBoundingBoxes: boolean; + + /** PersonDetectionConfig includePoseLandmarks. */ + public includePoseLandmarks: boolean; + + /** PersonDetectionConfig includeAttributes. */ + public includeAttributes: boolean; + + /** + * Creates a new PersonDetectionConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns PersonDetectionConfig instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IPersonDetectionConfig): google.cloud.videointelligence.v1.PersonDetectionConfig; + + /** + * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages. + * @param message PersonDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages. + * @param message PersonDetectionConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.PersonDetectionConfig; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.PersonDetectionConfig; + + /** + * Verifies a PersonDetectionConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PersonDetectionConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.PersonDetectionConfig; + + /** + * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified. + * @param message PersonDetectionConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.PersonDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PersonDetectionConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ExplicitContentDetectionConfig. */ interface IExplicitContentDetectionConfig { @@ -1334,6 +1449,9 @@ export namespace google { /** LabelAnnotation frames */ frames?: (google.cloud.videointelligence.v1.ILabelFrame[]|null); + + /** LabelAnnotation version */ + version?: (string|null); } /** Represents a LabelAnnotation. */ @@ -1357,6 +1475,9 @@ export namespace google { /** LabelAnnotation frames. */ public frames: google.cloud.videointelligence.v1.ILabelFrame[]; + /** LabelAnnotation version. */ + public version: string; + /** * Creates a new LabelAnnotation instance using the specified properties. * @param [properties] Properties to set @@ -1529,6 +1650,9 @@ export namespace google { /** ExplicitContentAnnotation frames */ frames?: (google.cloud.videointelligence.v1.IExplicitContentFrame[]|null); + + /** ExplicitContentAnnotation version */ + version?: (string|null); } /** Represents an ExplicitContentAnnotation. */ @@ -1543,6 +1667,9 @@ export namespace google { /** ExplicitContentAnnotation frames. */ public frames: google.cloud.videointelligence.v1.IExplicitContentFrame[]; + /** ExplicitContentAnnotation version. */ + public version: string; + /** * Creates a new ExplicitContentAnnotation instance using the specified properties. * @param [properties] Properties to set @@ -1722,6 +1849,192 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a FaceDetectionAnnotation. */ + interface IFaceDetectionAnnotation { + + /** FaceDetectionAnnotation version */ + version?: (string|null); + } + + /** Represents a FaceDetectionAnnotation. */ + class FaceDetectionAnnotation implements IFaceDetectionAnnotation { + + /** + * Constructs a new FaceDetectionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IFaceDetectionAnnotation); + + /** FaceDetectionAnnotation version. */ + public version: string; + + /** + * Creates a new FaceDetectionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceDetectionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IFaceDetectionAnnotation): google.cloud.videointelligence.v1.FaceDetectionAnnotation; + + /** + * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages. + * @param message FaceDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages. + * @param message FaceDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceDetectionAnnotation; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceDetectionAnnotation; + + /** + * Verifies a FaceDetectionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceDetectionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceDetectionAnnotation; + + /** + * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified. + * @param message FaceDetectionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.FaceDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceDetectionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PersonDetectionAnnotation. */ + interface IPersonDetectionAnnotation { + + /** PersonDetectionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1.ITrack[]|null); + + /** PersonDetectionAnnotation version */ + version?: (string|null); + } + + /** Represents a PersonDetectionAnnotation. */ + class PersonDetectionAnnotation implements IPersonDetectionAnnotation { + + /** + * Constructs a new PersonDetectionAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.videointelligence.v1.IPersonDetectionAnnotation); + + /** PersonDetectionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1.ITrack[]; + + /** PersonDetectionAnnotation version. */ + public version: string; + + /** + * Creates a new PersonDetectionAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns PersonDetectionAnnotation instance + */ + public static create(properties?: google.cloud.videointelligence.v1.IPersonDetectionAnnotation): google.cloud.videointelligence.v1.PersonDetectionAnnotation; + + /** + * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages. + * @param message PersonDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.videointelligence.v1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages. + * @param message PersonDetectionAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.videointelligence.v1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PersonDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.PersonDetectionAnnotation; + + /** + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PersonDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.PersonDetectionAnnotation; + + /** + * Verifies a PersonDetectionAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PersonDetectionAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.PersonDetectionAnnotation; + + /** + * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified. + * @param message PersonDetectionAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.videointelligence.v1.PersonDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PersonDetectionAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a FaceSegment. */ interface IFaceSegment { @@ -2457,6 +2770,9 @@ export namespace google { /** VideoAnnotationResults faceAnnotations */ faceAnnotations?: (google.cloud.videointelligence.v1.IFaceAnnotation[]|null); + /** VideoAnnotationResults faceDetectionAnnotations */ + faceDetectionAnnotations?: (google.cloud.videointelligence.v1.IFaceDetectionAnnotation[]|null); + /** VideoAnnotationResults shotAnnotations */ shotAnnotations?: (google.cloud.videointelligence.v1.IVideoSegment[]|null); @@ -2475,6 +2791,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations */ logoRecognitionAnnotations?: (google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[]|null); + /** VideoAnnotationResults personDetectionAnnotations */ + personDetectionAnnotations?: (google.cloud.videointelligence.v1.IPersonDetectionAnnotation[]|null); + /** VideoAnnotationResults error */ error?: (google.rpc.IStatus|null); } @@ -2512,6 +2831,9 @@ export namespace google { /** VideoAnnotationResults faceAnnotations. */ public faceAnnotations: google.cloud.videointelligence.v1.IFaceAnnotation[]; + /** VideoAnnotationResults faceDetectionAnnotations. */ + public faceDetectionAnnotations: google.cloud.videointelligence.v1.IFaceDetectionAnnotation[]; + /** VideoAnnotationResults shotAnnotations. */ public shotAnnotations: google.cloud.videointelligence.v1.IVideoSegment[]; @@ -2530,6 +2852,9 @@ export namespace google { /** VideoAnnotationResults logoRecognitionAnnotations. */ public logoRecognitionAnnotations: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[]; + /** VideoAnnotationResults personDetectionAnnotations. */ + public personDetectionAnnotations: google.cloud.videointelligence.v1.IPersonDetectionAnnotation[]; + /** VideoAnnotationResults error. */ public error?: (google.rpc.IStatus|null); @@ -3836,6 +4161,9 @@ export namespace google { /** TextAnnotation segments */ segments?: (google.cloud.videointelligence.v1.ITextSegment[]|null); + + /** TextAnnotation version */ + version?: (string|null); } /** Represents a TextAnnotation. */ @@ -3853,6 +4181,9 @@ export namespace google { /** TextAnnotation segments. */ public segments: google.cloud.videointelligence.v1.ITextSegment[]; + /** TextAnnotation version. */ + public version: string; + /** * Creates a new TextAnnotation instance using the specified properties. * @param [properties] Properties to set @@ -4037,6 +4368,9 @@ export namespace google { /** ObjectTrackingAnnotation frames */ frames?: (google.cloud.videointelligence.v1.IObjectTrackingFrame[]|null); + + /** ObjectTrackingAnnotation version */ + version?: (string|null); } /** Represents an ObjectTrackingAnnotation. */ @@ -4063,6 +4397,9 @@ export namespace google { /** ObjectTrackingAnnotation frames. */ public frames: google.cloud.videointelligence.v1.IObjectTrackingFrame[]; + /** ObjectTrackingAnnotation version. */ + public version: string; + /** ObjectTrackingAnnotation trackInfo. */ public trackInfo?: ("segment"|"trackId"); diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 8fe28d954eb..316875e6085 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -368,6 +368,7 @@ case 7: case 9: case 12: + case 14: break; } } @@ -447,6 +448,10 @@ case 12: message.features[i] = 12; break; + case "PERSON_DETECTION": + case 14: + message.features[i] = 14; + break; } } if (object.videoContext != null) { @@ -534,6 +539,7 @@ * @property {google.cloud.videointelligence.v1.IFaceDetectionConfig|null} [faceDetectionConfig] VideoContext faceDetectionConfig * @property {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig * @property {google.cloud.videointelligence.v1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig + * @property {google.cloud.videointelligence.v1.IPersonDetectionConfig|null} [personDetectionConfig] VideoContext personDetectionConfig * @property {google.cloud.videointelligence.v1.IObjectTrackingConfig|null} [objectTrackingConfig] VideoContext objectTrackingConfig */ @@ -609,6 +615,14 @@ */ VideoContext.prototype.textDetectionConfig = null; + /** + * VideoContext personDetectionConfig. + * @member {google.cloud.videointelligence.v1.IPersonDetectionConfig|null|undefined} personDetectionConfig + * @memberof google.cloud.videointelligence.v1.VideoContext + * @instance + */ + VideoContext.prototype.personDetectionConfig = null; + /** * VideoContext objectTrackingConfig. * @member {google.cloud.videointelligence.v1.IObjectTrackingConfig|null|undefined} objectTrackingConfig @@ -656,6 +670,8 @@ $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.textDetectionConfig != null && Object.hasOwnProperty.call(message, "textDetectionConfig")) $root.google.cloud.videointelligence.v1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.personDetectionConfig != null && Object.hasOwnProperty.call(message, "personDetectionConfig")) + $root.google.cloud.videointelligence.v1.PersonDetectionConfig.encode(message.personDetectionConfig, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig")) $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; @@ -715,6 +731,9 @@ case 8: message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.decode(reader, reader.uint32()); break; + case 11: + message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.decode(reader, reader.uint32()); + break; case 13: message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.decode(reader, reader.uint32()); break; @@ -792,6 +811,11 @@ if (error) return "textDetectionConfig." + error; } + if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) { + var error = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.verify(message.personDetectionConfig); + if (error) + return "personDetectionConfig." + error; + } if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) { var error = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.verify(message.objectTrackingConfig); if (error) @@ -852,6 +876,11 @@ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.textDetectionConfig: object expected"); message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.fromObject(object.textDetectionConfig); } + if (object.personDetectionConfig != null) { + if (typeof object.personDetectionConfig !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoContext.personDetectionConfig: object expected"); + message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.fromObject(object.personDetectionConfig); + } if (object.objectTrackingConfig != null) { if (typeof object.objectTrackingConfig !== "object") throw TypeError(".google.cloud.videointelligence.v1.VideoContext.objectTrackingConfig: object expected"); @@ -882,6 +911,7 @@ object.faceDetectionConfig = null; object.speechTranscriptionConfig = null; object.textDetectionConfig = null; + object.personDetectionConfig = null; object.objectTrackingConfig = null; } if (message.segments && message.segments.length) { @@ -901,6 +931,8 @@ object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options); if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) object.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.toObject(message.textDetectionConfig, options); + if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) + object.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.toObject(message.personDetectionConfig, options); if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) object.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.toObject(message.objectTrackingConfig, options); return object; @@ -933,6 +965,7 @@ * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value + * @property {number} PERSON_DETECTION=14 PERSON_DETECTION value */ v1.Feature = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -945,6 +978,7 @@ values[valuesById[7] = "TEXT_DETECTION"] = 7; values[valuesById[9] = "OBJECT_TRACKING"] = 9; values[valuesById[12] = "LOGO_RECOGNITION"] = 12; + values[valuesById[14] = "PERSON_DETECTION"] = 14; return values; })(); @@ -1669,6 +1703,7 @@ * @interface IFaceDetectionConfig * @property {string|null} [model] FaceDetectionConfig model * @property {boolean|null} [includeBoundingBoxes] FaceDetectionConfig includeBoundingBoxes + * @property {boolean|null} [includeAttributes] FaceDetectionConfig includeAttributes */ /** @@ -1702,6 +1737,14 @@ */ FaceDetectionConfig.prototype.includeBoundingBoxes = false; + /** + * FaceDetectionConfig includeAttributes. + * @member {boolean} includeAttributes + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @instance + */ + FaceDetectionConfig.prototype.includeAttributes = false; + /** * Creates a new FaceDetectionConfig instance using the specified properties. * @function create @@ -1730,6 +1773,8 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model); if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes); + if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.includeAttributes); return writer; }; @@ -1770,6 +1815,9 @@ case 2: message.includeBoundingBoxes = reader.bool(); break; + case 5: + message.includeAttributes = reader.bool(); + break; default: reader.skipType(tag & 7); break; @@ -1811,6 +1859,9 @@ if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) if (typeof message.includeBoundingBoxes !== "boolean") return "includeBoundingBoxes: boolean expected"; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (typeof message.includeAttributes !== "boolean") + return "includeAttributes: boolean expected"; return null; }; @@ -1830,6 +1881,8 @@ message.model = String(object.model); if (object.includeBoundingBoxes != null) message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + if (object.includeAttributes != null) + message.includeAttributes = Boolean(object.includeAttributes); return message; }; @@ -1849,11 +1902,14 @@ if (options.defaults) { object.model = ""; object.includeBoundingBoxes = false; + object.includeAttributes = false; } if (message.model != null && message.hasOwnProperty("model")) object.model = message.model; if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) object.includeBoundingBoxes = message.includeBoundingBoxes; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + object.includeAttributes = message.includeAttributes; return object; }; @@ -1871,6 +1927,238 @@ return FaceDetectionConfig; })(); + v1.PersonDetectionConfig = (function() { + + /** + * Properties of a PersonDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @interface IPersonDetectionConfig + * @property {boolean|null} [includeBoundingBoxes] PersonDetectionConfig includeBoundingBoxes + * @property {boolean|null} [includePoseLandmarks] PersonDetectionConfig includePoseLandmarks + * @property {boolean|null} [includeAttributes] PersonDetectionConfig includeAttributes + */ + + /** + * Constructs a new PersonDetectionConfig. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a PersonDetectionConfig. + * @implements IPersonDetectionConfig + * @constructor + * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig=} [properties] Properties to set + */ + function PersonDetectionConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PersonDetectionConfig includeBoundingBoxes. + * @member {boolean} includeBoundingBoxes + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @instance + */ + PersonDetectionConfig.prototype.includeBoundingBoxes = false; + + /** + * PersonDetectionConfig includePoseLandmarks. + * @member {boolean} includePoseLandmarks + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @instance + */ + PersonDetectionConfig.prototype.includePoseLandmarks = false; + + /** + * PersonDetectionConfig includeAttributes. + * @member {boolean} includeAttributes + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @instance + */ + PersonDetectionConfig.prototype.includeAttributes = false; + + /** + * Creates a new PersonDetectionConfig instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig instance + */ + PersonDetectionConfig.create = function create(properties) { + return new PersonDetectionConfig(properties); + }; + + /** + * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PersonDetectionConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.includeBoundingBoxes); + if (message.includePoseLandmarks != null && Object.hasOwnProperty.call(message, "includePoseLandmarks")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includePoseLandmarks); + if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.includeAttributes); + return writer; + }; + + /** + * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PersonDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PersonDetectionConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.PersonDetectionConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.includeBoundingBoxes = reader.bool(); + break; + case 2: + message.includePoseLandmarks = reader.bool(); + break; + case 3: + message.includeAttributes = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PersonDetectionConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PersonDetectionConfig message. + * @function verify + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PersonDetectionConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + if (typeof message.includeBoundingBoxes !== "boolean") + return "includeBoundingBoxes: boolean expected"; + if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + if (typeof message.includePoseLandmarks !== "boolean") + return "includePoseLandmarks: boolean expected"; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + if (typeof message.includeAttributes !== "boolean") + return "includeAttributes: boolean expected"; + return null; + }; + + /** + * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig + */ + PersonDetectionConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.PersonDetectionConfig) + return object; + var message = new $root.google.cloud.videointelligence.v1.PersonDetectionConfig(); + if (object.includeBoundingBoxes != null) + message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes); + if (object.includePoseLandmarks != null) + message.includePoseLandmarks = Boolean(object.includePoseLandmarks); + if (object.includeAttributes != null) + message.includeAttributes = Boolean(object.includeAttributes); + return message; + }; + + /** + * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {google.cloud.videointelligence.v1.PersonDetectionConfig} message PersonDetectionConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PersonDetectionConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.includeBoundingBoxes = false; + object.includePoseLandmarks = false; + object.includeAttributes = false; + } + if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes")) + object.includeBoundingBoxes = message.includeBoundingBoxes; + if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks")) + object.includePoseLandmarks = message.includePoseLandmarks; + if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes")) + object.includeAttributes = message.includeAttributes; + return object; + }; + + /** + * Converts this PersonDetectionConfig to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @instance + * @returns {Object.} JSON object + */ + PersonDetectionConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PersonDetectionConfig; + })(); + v1.ExplicitContentDetectionConfig = (function() { /** @@ -3176,6 +3464,7 @@ * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities * @property {Array.|null} [segments] LabelAnnotation segments * @property {Array.|null} [frames] LabelAnnotation frames + * @property {string|null} [version] LabelAnnotation version */ /** @@ -3229,10 +3518,18 @@ LabelAnnotation.prototype.frames = $util.emptyArray; /** - * Creates a new LabelAnnotation instance using the specified properties. - * @function create + * LabelAnnotation version. + * @member {string} version * @memberof google.cloud.videointelligence.v1.LabelAnnotation - * @static + * @instance + */ + LabelAnnotation.prototype.version = ""; + + /** + * Creates a new LabelAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static * @param {google.cloud.videointelligence.v1.ILabelAnnotation=} [properties] Properties to set * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation instance */ @@ -3263,6 +3560,8 @@ if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) $root.google.cloud.videointelligence.v1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); return writer; }; @@ -3315,6 +3614,9 @@ message.frames = []; message.frames.push($root.google.cloud.videointelligence.v1.LabelFrame.decode(reader, reader.uint32())); break; + case 5: + message.version = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -3382,6 +3684,9 @@ return "frames." + error; } } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; return null; }; @@ -3432,6 +3737,8 @@ message.frames[i] = $root.google.cloud.videointelligence.v1.LabelFrame.fromObject(object.frames[i]); } } + if (object.version != null) + message.version = String(object.version); return message; }; @@ -3453,8 +3760,10 @@ object.segments = []; object.frames = []; } - if (options.defaults) + if (options.defaults) { object.entity = null; + object.version = ""; + } if (message.entity != null && message.hasOwnProperty("entity")) object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options); if (message.categoryEntities && message.categoryEntities.length) { @@ -3472,6 +3781,8 @@ for (var j = 0; j < message.frames.length; ++j) object.frames[j] = $root.google.cloud.videointelligence.v1.LabelFrame.toObject(message.frames[j], options); } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; }; @@ -3744,6 +4055,7 @@ * @memberof google.cloud.videointelligence.v1 * @interface IExplicitContentAnnotation * @property {Array.|null} [frames] ExplicitContentAnnotation frames + * @property {string|null} [version] ExplicitContentAnnotation version */ /** @@ -3770,6 +4082,14 @@ */ ExplicitContentAnnotation.prototype.frames = $util.emptyArray; + /** + * ExplicitContentAnnotation version. + * @member {string} version + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @instance + */ + ExplicitContentAnnotation.prototype.version = ""; + /** * Creates a new ExplicitContentAnnotation instance using the specified properties. * @function create @@ -3797,6 +4117,8 @@ if (message.frames != null && message.frames.length) for (var i = 0; i < message.frames.length; ++i) $root.google.cloud.videointelligence.v1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); return writer; }; @@ -3836,6 +4158,9 @@ message.frames = []; message.frames.push($root.google.cloud.videointelligence.v1.ExplicitContentFrame.decode(reader, reader.uint32())); break; + case 2: + message.version = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -3880,6 +4205,9 @@ return "frames." + error; } } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; return null; }; @@ -3905,6 +4233,8 @@ message.frames[i] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.fromObject(object.frames[i]); } } + if (object.version != null) + message.version = String(object.version); return message; }; @@ -3923,11 +4253,15 @@ var object = {}; if (options.arrays || options.defaults) object.frames = []; + if (options.defaults) + object.version = ""; if (message.frames && message.frames.length) { object.frames = []; for (var j = 0; j < message.frames.length; ++j) object.frames[j] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.toObject(message.frames[j], options); } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; }; @@ -3965,7 +4299,447 @@ * @constructor * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set */ - function NormalizedBoundingBox(properties) { + function NormalizedBoundingBox(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingBox left. + * @member {number} left + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.left = 0; + + /** + * NormalizedBoundingBox top. + * @member {number} top + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.top = 0; + + /** + * NormalizedBoundingBox right. + * @member {number} right + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.right = 0; + + /** + * NormalizedBoundingBox bottom. + * @member {number} bottom + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + */ + NormalizedBoundingBox.prototype.bottom = 0; + + /** + * Creates a new NormalizedBoundingBox instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox instance + */ + NormalizedBoundingBox.create = function create(properties) { + return new NormalizedBoundingBox(properties); + }; + + /** + * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.left != null && Object.hasOwnProperty.call(message, "left")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); + if (message.top != null && Object.hasOwnProperty.call(message, "top")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); + if (message.right != null && Object.hasOwnProperty.call(message, "right")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); + if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.left = reader.float(); + break; + case 2: + message.top = reader.float(); + break; + case 3: + message.right = reader.float(); + break; + case 4: + message.bottom = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingBox message. + * @function verify + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingBox.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.left != null && message.hasOwnProperty("left")) + if (typeof message.left !== "number") + return "left: number expected"; + if (message.top != null && message.hasOwnProperty("top")) + if (typeof message.top !== "number") + return "top: number expected"; + if (message.right != null && message.hasOwnProperty("right")) + if (typeof message.right !== "number") + return "right: number expected"; + if (message.bottom != null && message.hasOwnProperty("bottom")) + if (typeof message.bottom !== "number") + return "bottom: number expected"; + return null; + }; + + /** + * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + */ + NormalizedBoundingBox.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingBox) + return object; + var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); + if (object.left != null) + message.left = Number(object.left); + if (object.top != null) + message.top = Number(object.top); + if (object.right != null) + message.right = Number(object.right); + if (object.bottom != null) + message.bottom = Number(object.bottom); + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {google.cloud.videointelligence.v1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingBox.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.left = 0; + object.top = 0; + object.right = 0; + object.bottom = 0; + } + if (message.left != null && message.hasOwnProperty("left")) + object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; + if (message.top != null && message.hasOwnProperty("top")) + object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; + if (message.right != null && message.hasOwnProperty("right")) + object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; + if (message.bottom != null && message.hasOwnProperty("bottom")) + object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + return object; + }; + + /** + * Converts this NormalizedBoundingBox to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingBox.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingBox; + })(); + + v1.FaceDetectionAnnotation = (function() { + + /** + * Properties of a FaceDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface IFaceDetectionAnnotation + * @property {string|null} [version] FaceDetectionAnnotation version + */ + + /** + * Constructs a new FaceDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a FaceDetectionAnnotation. + * @implements IFaceDetectionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation=} [properties] Properties to set + */ + function FaceDetectionAnnotation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceDetectionAnnotation version. + * @member {string} version + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @instance + */ + FaceDetectionAnnotation.prototype.version = ""; + + /** + * Creates a new FaceDetectionAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation instance + */ + FaceDetectionAnnotation.create = function create(properties) { + return new FaceDetectionAnnotation(properties); + }; + + /** + * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); + return writer; + }; + + /** + * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 5: + message.version = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceDetectionAnnotation message. + * @function verify + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceDetectionAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + return null; + }; + + /** + * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation + */ + FaceDetectionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation) + return object; + var message = new $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation(); + if (object.version != null) + message.version = String(object.version); + return message; + }; + + /** + * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {google.cloud.videointelligence.v1.FaceDetectionAnnotation} message FaceDetectionAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceDetectionAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.version = ""; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + return object; + }; + + /** + * Converts this FaceDetectionAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceDetectionAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FaceDetectionAnnotation; + })(); + + v1.PersonDetectionAnnotation = (function() { + + /** + * Properties of a PersonDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @interface IPersonDetectionAnnotation + * @property {Array.|null} [tracks] PersonDetectionAnnotation tracks + * @property {string|null} [version] PersonDetectionAnnotation version + */ + + /** + * Constructs a new PersonDetectionAnnotation. + * @memberof google.cloud.videointelligence.v1 + * @classdesc Represents a PersonDetectionAnnotation. + * @implements IPersonDetectionAnnotation + * @constructor + * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation=} [properties] Properties to set + */ + function PersonDetectionAnnotation(properties) { + this.tracks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3973,114 +4747,91 @@ } /** - * NormalizedBoundingBox left. - * @member {number} left - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox - * @instance - */ - NormalizedBoundingBox.prototype.left = 0; - - /** - * NormalizedBoundingBox top. - * @member {number} top - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox - * @instance - */ - NormalizedBoundingBox.prototype.top = 0; - - /** - * NormalizedBoundingBox right. - * @member {number} right - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * PersonDetectionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @instance */ - NormalizedBoundingBox.prototype.right = 0; + PersonDetectionAnnotation.prototype.tracks = $util.emptyArray; /** - * NormalizedBoundingBox bottom. - * @member {number} bottom - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * PersonDetectionAnnotation version. + * @member {string} version + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @instance */ - NormalizedBoundingBox.prototype.bottom = 0; + PersonDetectionAnnotation.prototype.version = ""; /** - * Creates a new NormalizedBoundingBox instance using the specified properties. + * Creates a new PersonDetectionAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set - * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox instance + * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation=} [properties] Properties to set + * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation instance */ - NormalizedBoundingBox.create = function create(properties) { - return new NormalizedBoundingBox(properties); + PersonDetectionAnnotation.create = function create(properties) { + return new PersonDetectionAnnotation(properties); }; /** - * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingBox.encode = function encode(message, writer) { + PersonDetectionAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.left != null && Object.hasOwnProperty.call(message, "left")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.left); - if (message.top != null && Object.hasOwnProperty.call(message, "top")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.top); - if (message.right != null && Object.hasOwnProperty.call(message, "right")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.right); - if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1.Track.encode(message.tracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); return writer; }; /** - * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages. + * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode + * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) { + PersonDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedBoundingBox message from the specified reader or buffer. + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingBox.decode = function decode(reader, length) { + PersonDetectionAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.left = reader.float(); + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); break; case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); + message.version = reader.string(); break; default: reader.skipType(tag & 7); @@ -4091,112 +4842,113 @@ }; /** - * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited. + * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) { + PersonDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedBoundingBox message. + * Verifies a PersonDetectionAnnotation message. * @function verify - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedBoundingBox.verify = function verify(message) { + PersonDetectionAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.left != null && message.hasOwnProperty("left")) - if (typeof message.left !== "number") - return "left: number expected"; - if (message.top != null && message.hasOwnProperty("top")) - if (typeof message.top !== "number") - return "top: number expected"; - if (message.right != null && message.hasOwnProperty("right")) - if (typeof message.right !== "number") - return "right: number expected"; - if (message.bottom != null && message.hasOwnProperty("bottom")) - if (typeof message.bottom !== "number") - return "bottom: number expected"; + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.Track.verify(message.tracks[i]); + if (error) + return "tracks." + error; + } + } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; return null; }; /** - * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types. + * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox + * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation */ - NormalizedBoundingBox.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingBox) + PersonDetectionAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation) return object; - var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox(); - if (object.left != null) - message.left = Number(object.left); - if (object.top != null) - message.top = Number(object.top); - if (object.right != null) - message.right = Number(object.right); - if (object.bottom != null) - message.bottom = Number(object.bottom); + var message = new $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation(); + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1.PersonDetectionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.PersonDetectionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1.Track.fromObject(object.tracks[i]); + } + } + if (object.version != null) + message.version = String(object.version); return message; }; /** - * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified. + * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @static - * @param {google.cloud.videointelligence.v1.NormalizedBoundingBox} message NormalizedBoundingBox + * @param {google.cloud.videointelligence.v1.PersonDetectionAnnotation} message PersonDetectionAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedBoundingBox.toObject = function toObject(message, options) { + PersonDetectionAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.left = 0; - object.top = 0; - object.right = 0; - object.bottom = 0; + if (options.arrays || options.defaults) + object.tracks = []; + if (options.defaults) + object.version = ""; + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1.Track.toObject(message.tracks[j], options); } - if (message.left != null && message.hasOwnProperty("left")) - object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left; - if (message.top != null && message.hasOwnProperty("top")) - object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top; - if (message.right != null && message.hasOwnProperty("right")) - object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right; - if (message.bottom != null && message.hasOwnProperty("bottom")) - object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; }; /** - * Converts this NormalizedBoundingBox to JSON. + * Converts this PersonDetectionAnnotation to JSON. * @function toJSON - * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation * @instance * @returns {Object.} JSON object */ - NormalizedBoundingBox.prototype.toJSON = function toJSON() { + PersonDetectionAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedBoundingBox; + return PersonDetectionAnnotation; })(); v1.FaceSegment = (function() { @@ -6005,12 +6757,14 @@ * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations + * @property {Array.|null} [faceDetectionAnnotations] VideoAnnotationResults faceDetectionAnnotations * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations * @property {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations + * @property {Array.|null} [personDetectionAnnotations] VideoAnnotationResults personDetectionAnnotations * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error */ @@ -6029,11 +6783,13 @@ this.shotPresenceLabelAnnotations = []; this.frameLabelAnnotations = []; this.faceAnnotations = []; + this.faceDetectionAnnotations = []; this.shotAnnotations = []; this.speechTranscriptions = []; this.textAnnotations = []; this.objectAnnotations = []; this.logoRecognitionAnnotations = []; + this.personDetectionAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6104,6 +6860,14 @@ */ VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray; + /** + * VideoAnnotationResults faceDetectionAnnotations. + * @member {Array.} faceDetectionAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.faceDetectionAnnotations = $util.emptyArray; + /** * VideoAnnotationResults shotAnnotations. * @member {Array.} shotAnnotations @@ -6152,6 +6916,14 @@ */ VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray; + /** + * VideoAnnotationResults personDetectionAnnotations. + * @member {Array.} personDetectionAnnotations + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @instance + */ + VideoAnnotationResults.prototype.personDetectionAnnotations = $util.emptyArray; + /** * VideoAnnotationResults error. * @member {google.rpc.IStatus|null|undefined} error @@ -6213,12 +6985,18 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.videointelligence.v1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.faceDetectionAnnotations != null && message.faceDetectionAnnotations.length) + for (var i = 0; i < message.faceDetectionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.encode(message.faceDetectionAnnotations[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); if (message.objectAnnotations != null && message.objectAnnotations.length) for (var i = 0; i < message.objectAnnotations.length; ++i) $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length) for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.personDetectionAnnotations != null && message.personDetectionAnnotations.length) + for (var i = 0; i < message.personDetectionAnnotations.length; ++i) + $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.encode(message.personDetectionAnnotations[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length) for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); @@ -6295,6 +7073,11 @@ message.faceAnnotations = []; message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32())); break; + case 13: + if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) + message.faceDetectionAnnotations = []; + message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.decode(reader, reader.uint32())); + break; case 6: if (!(message.shotAnnotations && message.shotAnnotations.length)) message.shotAnnotations = []; @@ -6323,6 +7106,11 @@ message.logoRecognitionAnnotations = []; message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); break; + case 20: + if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) + message.personDetectionAnnotations = []; + message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.decode(reader, reader.uint32())); + break; case 9: message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; @@ -6423,6 +7211,15 @@ return "faceAnnotations." + error; } } + if (message.faceDetectionAnnotations != null && message.hasOwnProperty("faceDetectionAnnotations")) { + if (!Array.isArray(message.faceDetectionAnnotations)) + return "faceDetectionAnnotations: array expected"; + for (var i = 0; i < message.faceDetectionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify(message.faceDetectionAnnotations[i]); + if (error) + return "faceDetectionAnnotations." + error; + } + } if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) { if (!Array.isArray(message.shotAnnotations)) return "shotAnnotations: array expected"; @@ -6473,6 +7270,15 @@ return "logoRecognitionAnnotations." + error; } } + if (message.personDetectionAnnotations != null && message.hasOwnProperty("personDetectionAnnotations")) { + if (!Array.isArray(message.personDetectionAnnotations)) + return "personDetectionAnnotations: array expected"; + for (var i = 0; i < message.personDetectionAnnotations.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify(message.personDetectionAnnotations[i]); + if (error) + return "personDetectionAnnotations." + error; + } + } if (message.error != null && message.hasOwnProperty("error")) { var error = $root.google.rpc.Status.verify(message.error); if (error) @@ -6560,6 +7366,16 @@ message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]); } } + if (object.faceDetectionAnnotations) { + if (!Array.isArray(object.faceDetectionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceDetectionAnnotations: array expected"); + message.faceDetectionAnnotations = []; + for (var i = 0; i < object.faceDetectionAnnotations.length; ++i) { + if (typeof object.faceDetectionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceDetectionAnnotations: object expected"); + message.faceDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.fromObject(object.faceDetectionAnnotations[i]); + } + } if (object.shotAnnotations) { if (!Array.isArray(object.shotAnnotations)) throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotAnnotations: array expected"); @@ -6615,6 +7431,16 @@ message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]); } } + if (object.personDetectionAnnotations) { + if (!Array.isArray(object.personDetectionAnnotations)) + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.personDetectionAnnotations: array expected"); + message.personDetectionAnnotations = []; + for (var i = 0; i < object.personDetectionAnnotations.length; ++i) { + if (typeof object.personDetectionAnnotations[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.personDetectionAnnotations: object expected"); + message.personDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.fromObject(object.personDetectionAnnotations[i]); + } + } if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.error: object expected"); @@ -6644,8 +7470,10 @@ object.shotAnnotations = []; object.speechTranscriptions = []; object.textAnnotations = []; + object.faceDetectionAnnotations = []; object.objectAnnotations = []; object.logoRecognitionAnnotations = []; + object.personDetectionAnnotations = []; object.segmentPresenceLabelAnnotations = []; object.shotPresenceLabelAnnotations = []; } @@ -6698,6 +7526,11 @@ for (var j = 0; j < message.textAnnotations.length; ++j) object.textAnnotations[j] = $root.google.cloud.videointelligence.v1.TextAnnotation.toObject(message.textAnnotations[j], options); } + if (message.faceDetectionAnnotations && message.faceDetectionAnnotations.length) { + object.faceDetectionAnnotations = []; + for (var j = 0; j < message.faceDetectionAnnotations.length; ++j) + object.faceDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.toObject(message.faceDetectionAnnotations[j], options); + } if (message.objectAnnotations && message.objectAnnotations.length) { object.objectAnnotations = []; for (var j = 0; j < message.objectAnnotations.length; ++j) @@ -6708,6 +7541,11 @@ for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j) object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options); } + if (message.personDetectionAnnotations && message.personDetectionAnnotations.length) { + object.personDetectionAnnotations = []; + for (var j = 0; j < message.personDetectionAnnotations.length; ++j) + object.personDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.toObject(message.personDetectionAnnotations[j], options); + } if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) { object.segmentPresenceLabelAnnotations = []; for (var j = 0; j < message.segmentPresenceLabelAnnotations.length; ++j) @@ -7172,6 +8010,7 @@ case 7: case 9: case 12: + case 14: break; } if (message.segment != null && message.hasOwnProperty("segment")) { @@ -7245,6 +8084,10 @@ case 12: message.feature = 12; break; + case "PERSON_DETECTION": + case 14: + message.feature = 14; + break; } if (object.segment != null) { if (typeof object.segment !== "object") @@ -9802,6 +10645,7 @@ * @interface ITextAnnotation * @property {string|null} [text] TextAnnotation text * @property {Array.|null} [segments] TextAnnotation segments + * @property {string|null} [version] TextAnnotation version */ /** @@ -9836,6 +10680,14 @@ */ TextAnnotation.prototype.segments = $util.emptyArray; + /** + * TextAnnotation version. + * @member {string} version + * @memberof google.cloud.videointelligence.v1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.version = ""; + /** * Creates a new TextAnnotation instance using the specified properties. * @function create @@ -9865,6 +10717,8 @@ if (message.segments != null && message.segments.length) for (var i = 0; i < message.segments.length; ++i) $root.google.cloud.videointelligence.v1.TextSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.version); return writer; }; @@ -9907,6 +10761,9 @@ message.segments = []; message.segments.push($root.google.cloud.videointelligence.v1.TextSegment.decode(reader, reader.uint32())); break; + case 3: + message.version = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -9954,6 +10811,9 @@ return "segments." + error; } } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; return null; }; @@ -9981,6 +10841,8 @@ message.segments[i] = $root.google.cloud.videointelligence.v1.TextSegment.fromObject(object.segments[i]); } } + if (object.version != null) + message.version = String(object.version); return message; }; @@ -9999,8 +10861,10 @@ var object = {}; if (options.arrays || options.defaults) object.segments = []; - if (options.defaults) + if (options.defaults) { object.text = ""; + object.version = ""; + } if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.segments && message.segments.length) { @@ -10008,6 +10872,8 @@ for (var j = 0; j < message.segments.length; ++j) object.segments[j] = $root.google.cloud.videointelligence.v1.TextSegment.toObject(message.segments[j], options); } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; }; @@ -10256,6 +11122,7 @@ * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] ObjectTrackingAnnotation entity * @property {number|null} [confidence] ObjectTrackingAnnotation confidence * @property {Array.|null} [frames] ObjectTrackingAnnotation frames + * @property {string|null} [version] ObjectTrackingAnnotation version */ /** @@ -10314,6 +11181,14 @@ */ ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + /** + * ObjectTrackingAnnotation version. + * @member {string} version + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.version = ""; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -10363,6 +11238,8 @@ writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); if (message.trackId != null && Object.hasOwnProperty.call(message, "trackId")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.version); return writer; }; @@ -10414,6 +11291,9 @@ message.frames = []; message.frames.push($root.google.cloud.videointelligence.v1.ObjectTrackingFrame.decode(reader, reader.uint32())); break; + case 6: + message.version = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -10482,6 +11362,9 @@ return "frames." + error; } } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; return null; }; @@ -10528,6 +11411,8 @@ message.frames[i] = $root.google.cloud.videointelligence.v1.ObjectTrackingFrame.fromObject(object.frames[i]); } } + if (object.version != null) + message.version = String(object.version); return message; }; @@ -10549,6 +11434,7 @@ if (options.defaults) { object.entity = null; object.confidence = 0; + object.version = ""; } if (message.entity != null && message.hasOwnProperty("entity")) object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options); @@ -10572,6 +11458,8 @@ if (options.oneofs) object.trackInfo = "trackId"; } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; return object; }; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 02db69a7a8a..992dde4e349 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -105,6 +105,10 @@ "type": "TextDetectionConfig", "id": 8 }, + "personDetectionConfig": { + "type": "PersonDetectionConfig", + "id": 11 + }, "objectTrackingConfig": { "type": "ObjectTrackingConfig", "id": 13 @@ -121,7 +125,8 @@ "SPEECH_TRANSCRIPTION": 6, "TEXT_DETECTION": 7, "OBJECT_TRACKING": 9, - "LOGO_RECOGNITION": 12 + "LOGO_RECOGNITION": 12, + "PERSON_DETECTION": 14 } }, "LabelDetectionMode": { @@ -191,6 +196,26 @@ "includeBoundingBoxes": { "type": "bool", "id": 2 + }, + "includeAttributes": { + "type": "bool", + "id": 5 + } + } + }, + "PersonDetectionConfig": { + "fields": { + "includeBoundingBoxes": { + "type": "bool", + "id": 1 + }, + "includePoseLandmarks": { + "type": "bool", + "id": 2 + }, + "includeAttributes": { + "type": "bool", + "id": 3 } } }, @@ -287,6 +312,10 @@ "rule": "repeated", "type": "LabelFrame", "id": 4 + }, + "version": { + "type": "string", + "id": 5 } } }, @@ -308,6 +337,10 @@ "rule": "repeated", "type": "ExplicitContentFrame", "id": 1 + }, + "version": { + "type": "string", + "id": 2 } } }, @@ -331,6 +364,27 @@ } } }, + "FaceDetectionAnnotation": { + "fields": { + "version": { + "type": "string", + "id": 5 + } + } + }, + "PersonDetectionAnnotation": { + "fields": { + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 1 + }, + "version": { + "type": "string", + "id": 2 + } + } + }, "FaceSegment": { "fields": { "segment": { @@ -340,6 +394,9 @@ } }, "FaceFrame": { + "options": { + "deprecated": true + }, "fields": { "normalizedBoundingBoxes": { "rule": "repeated", @@ -353,6 +410,9 @@ } }, "FaceAnnotation": { + "options": { + "deprecated": true + }, "fields": { "thumbnail": { "type": "bytes", @@ -496,7 +556,15 @@ "faceAnnotations": { "rule": "repeated", "type": "FaceAnnotation", - "id": 5 + "id": 5, + "options": { + "deprecated": true + } + }, + "faceDetectionAnnotations": { + "rule": "repeated", + "type": "FaceDetectionAnnotation", + "id": 13 }, "shotAnnotations": { "rule": "repeated", @@ -527,6 +595,11 @@ "type": "LogoRecognitionAnnotation", "id": 19 }, + "personDetectionAnnotations": { + "rule": "repeated", + "type": "PersonDetectionAnnotation", + "id": 20 + }, "error": { "type": "google.rpc.Status", "id": 9 @@ -789,6 +862,10 @@ "rule": "repeated", "type": "TextSegment", "id": 2 + }, + "version": { + "type": "string", + "id": 3 } } }, @@ -834,6 +911,10 @@ "rule": "repeated", "type": "ObjectTrackingFrame", "id": 2 + }, + "version": { + "type": "string", + "id": 6 } } }, diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index c5a33ade5c1..03674b1f504 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -32,7 +32,7 @@ import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** - * Service that implements Google Cloud Video Intelligence API. + * Service that implements the Video Intelligence API. * @class * @memberof v1 */ @@ -357,34 +357,37 @@ export class VideoIntelligenceServiceClient { * The request object that will be sent. * @param {string} request.inputUri * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are - * supported, which must be specified in the following format: + * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported. URIs must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * multiple videos, a video URI may include wildcards in the `object-id`. + * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded - * in the request as `input_content`. If set, `input_content` should be unset. + * in the request as `input_content`. If set, `input_content` must be unset. * @param {Buffer} request.inputContent * The video data bytes. - * If unset, the input video(s) should be specified via `input_uri`. - * If set, `input_uri` should be unset. + * If unset, the input video(s) should be specified via the `input_uri`. + * If set, `input_uri` must be unset. * @param {number[]} request.features * Required. Requested video annotation features. * @param {google.cloud.videointelligence.v1.VideoContext} request.videoContext * Additional video context and/or feature-specific parameters. * @param {string} [request.outputUri] * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) - * URIs are supported, which must be specified in the following format: + * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported. These must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud - * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region - * is specified, a region will be determined based on video file location. + * regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, the region will be determined based on video file + * location. * @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. diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 23255795790..42c7ff931df 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "79edd638315c6a2009c29ff70b3e36599bba4174" + "sha": "2befcb5e7ff8ad5d376972955d15bb8b878d64c8" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "fea9b1a2424c3982a4e894f502792e8b21506c1b", - "internalRef": "327704565" + "sha": "e7375a91e7942c562c61495a908f4f6d50b4ea3f", + "internalRef": "334093713" } }, { From 29223ba0fbd2a6ead0ef329c2851093c13ddf5ca Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 1 Oct 2020 13:22:14 -0700 Subject: [PATCH 316/418] chore: update bucket for cloud-rad (#478) 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-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 42c7ff931df..e2fbcc48c2e 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "2befcb5e7ff8ad5d376972955d15bb8b878d64c8" + "sha": "fabcbce3bf1d138be3207d4f1d25a95d8f8a1d03" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "fdd03c161003ab97657cc0218f25c82c89ddf4b6" + "sha": "079dcce498117f9570cebe6e6cff254b38ba3860" } } ], From 9c8c4965186ae5580cb3c8fbe4797fca84c6cf87 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 22 Oct 2020 13:10:19 -0700 Subject: [PATCH 317/418] chore: fixes the flaky tests (#486) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #483 #479 #480 🦕 --- packages/google-cloud-videointelligence/package.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ade38962d84..52689ff1d08 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -49,10 +49,13 @@ "google-gax": "^2.1.0" }, "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", "@types/mocha": "^8.0.0", "@types/node": "^12.12.29", "@types/sinon": "^9.0.0", "c8": "^7.0.0", + "eslint-plugin-node": "^11.1.0", "gts": "^2.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", @@ -61,12 +64,11 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", + "prettier": "^2.1.2", "sinon": "^9.0.2", "ts-loader": "^8.0.0", "typescript": "^3.8.3", "webpack": "^4.42.0", - "webpack-cli": "^3.3.11", - "@microsoft/api-documenter": "^7.8.10", - "@microsoft/api-extractor": "^7.8.10" + "webpack-cli": "^3.3.11" } } From 413991689930faf1a44db34634a0e51640e6d7fd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 28 Oct 2020 18:17:50 -0700 Subject: [PATCH 318/418] build: update to the latest build config (#488) * build(node_library): migrate to Trampoline V2 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 * build: only check --engine-strict for production deps Co-authored-by: Justin Beckwith Source-Author: Benjamin E. Coe Source-Date: Thu Oct 15 17:40:52 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 5451633881133e5573cc271a18e73b18caca8b1b Source-Link: https://github.com/googleapis/synthtool/commit/5451633881133e5573cc271a18e73b18caca8b1b * chore: clean up Node.js TOC for cloud-rad Source-Author: F. Hinkelmann Source-Date: Wed Oct 21 09:26:04 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: f96d3b455fe27c3dc7bc37c3c9cd27b1c6d269c8 Source-Link: https://github.com/googleapis/synthtool/commit/f96d3b455fe27c3dc7bc37c3c9cd27b1c6d269c8 * chore: fix Node.js TOC for cloud-rad Source-Author: F. Hinkelmann Source-Date: Wed Oct 21 12:01:24 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 901ddd44e9ef7887ee681b9183bbdea99437fdcc Source-Link: https://github.com/googleapis/synthtool/commit/901ddd44e9ef7887ee681b9183bbdea99437fdcc * chore(docs): update code of conduct of synthtool and templates Source-Author: Christopher Wilcox Source-Date: Thu Oct 22 14:22:01 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 5f6ef0ec5501d33c4667885b37a7685a30d41a76 Source-Link: https://github.com/googleapis/synthtool/commit/5f6ef0ec5501d33c4667885b37a7685a30d41a76 * build(node): update testing matrix Source-Author: Benjamin E. Coe Source-Date: Thu Oct 22 22:32:52 2020 -0500 Source-Repo: googleapis/synthtool Source-Sha: b7413d38b763827c72c0360f0a3d286c84656eeb Source-Link: https://github.com/googleapis/synthtool/commit/b7413d38b763827c72c0360f0a3d286c84656eeb * build(node): don't run prepare during smoke test Source-Author: Benjamin E. Coe Source-Date: Fri Oct 23 17:27:51 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: a783321fd55f010709294455584a553f4b24b944 Source-Link: https://github.com/googleapis/synthtool/commit/a783321fd55f010709294455584a553f4b24b944 * build(node): cleanup production deps before installing dev/production Source-Author: Benjamin E. Coe Source-Date: Mon Oct 26 10:37:03 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 89c849ba5013e45e8fb688b138f33c2ec6083dc5 Source-Link: https://github.com/googleapis/synthtool/commit/89c849ba5013e45e8fb688b138f33c2ec6083dc5 --- .../CODE_OF_CONDUCT.md | 123 +++++++++++++----- .../synth.metadata | 6 +- 2 files changed, 91 insertions(+), 38 deletions(-) diff --git a/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md b/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md index 46b2a08ea6d..2add2547a81 100644 --- a/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md +++ b/packages/google-cloud-videointelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index e2fbcc48c2e..a05db8710fc 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "fabcbce3bf1d138be3207d4f1d25a95d8f8a1d03" + "sha": "86d94af1249426636c9dc739e310f629a2544930" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "079dcce498117f9570cebe6e6cff254b38ba3860" + "sha": "89c849ba5013e45e8fb688b138f33c2ec6083dc5" } } ], @@ -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 2719245e0686567d7340df7e8cb8ce5ee012e413 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2020 22:28:14 -0800 Subject: [PATCH 319/418] chore: release 3.1.0 (#489) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 3c6c2aac5b4..6ac4df282b2 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [3.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.1...v3.1.0) (2020-10-29) + + +### Features + +* GA launch for PersonDetection and FaceDetection features ([#482](https://www.github.com/googleapis/nodejs-video-intelligence/issues/482)) ([6994bb0](https://www.github.com/googleapis/nodejs-video-intelligence/commit/6994bb0070b25a69a1ba8c47896cb7e5e18a30d9)) + ### [3.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.0...v3.0.1) (2020-06-29) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 52689ff1d08..b94e2de7378 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence 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-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 87174cb67d2..d2b9b8ce787 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.0.1", + "@google-cloud/video-intelligence": "^3.1.0", "yargs": "^15.0.0" }, "devDependencies": { From 4708f56acf30b35ef3ab265fe245ca1aa149332d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 2 Nov 2020 15:58:42 -0800 Subject: [PATCH 320/418] build(node): add KOKORO_BUILD_ARTIFACTS_SUBDIR to env (#490) 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-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index a05db8710fc..52ad7238fea 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "86d94af1249426636c9dc739e310f629a2544930" + "sha": "7c71dd6e0332794751d661b7e4b60cd2ff518a88" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "89c849ba5013e45e8fb688b138f33c2ec6083dc5" + "sha": "ba9918cd22874245b55734f57470c719b577e591" } } ], From 7b57134b964e37c3ed77399d22f35b6383246a31 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 6 Nov 2020 17:06:44 -0800 Subject: [PATCH 321/418] fix: do not modify options object, use defaultScopes (#493) * fix: do not modify options object, use defaultScopes Regenerated the library using gapic-generator-typescript v1.2.1. * fix(deps): require google-gax ^2.9.2 --- .../package.json | 2 +- .../src/index.ts | 1 + .../v1/video_intelligence_service_client.ts | 97 ++++++++++--------- .../video_intelligence_service_client.ts | 97 ++++++++++--------- .../video_intelligence_service_client.ts | 97 ++++++++++--------- .../video_intelligence_service_client.ts | 97 ++++++++++--------- ...aming_video_intelligence_service_client.ts | 76 ++++++++------- .../video_intelligence_service_client.ts | 97 ++++++++++--------- .../synth.metadata | 16 +-- .../system-test/fixtures/sample/src/index.ts | 11 ++- .../system-test/install.ts | 18 ++-- 11 files changed, 334 insertions(+), 275 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b94e2de7378..973afa613f8 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,7 +46,7 @@ "api-documenter": "api-documenter yaml --input-folder=temp" }, "dependencies": { - "google-gax": "^2.1.0" + "google-gax": "^2.9.2" }, "devDependencies": { "@microsoft/api-documenter": "^7.8.10", diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index 25dd1dcb75c..b8426bb62e6 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -23,6 +23,7 @@ import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; +type VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; export { v1, diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 03674b1f504..e941db337d3 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -57,8 +57,10 @@ export class VideoIntelligenceServiceClient { /** * Construct an instance of VideoIntelligenceServiceClient. * - * @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] @@ -78,44 +80,34 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; 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 VideoIntelligenceServiceClient 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 VideoIntelligenceServiceClient).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 +116,11 @@ export class VideoIntelligenceServiceClient { // 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) { @@ -262,6 +259,7 @@ export class VideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -270,6 +268,7 @@ export class VideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -277,6 +276,7 @@ export class VideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -285,6 +285,7 @@ export class VideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -294,8 +295,7 @@ export class VideoIntelligenceServiceClient { 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 @@ -391,8 +391,15 @@ export class VideoIntelligenceServiceClient { * @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.annotateVideo(request); + * const [response] = await operation.promise(); */ annotateVideo( request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, @@ -437,18 +444,19 @@ export class VideoIntelligenceServiceClient { return this.innerApiCalls.annotateVideo(request, options, callback); } /** - * Check the status of the long running operation returned by the annotateVideo() method. + * Check the status of the long running operation returned by `annotateVideo()`. * @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 checkAnnotateVideoProgress(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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAnnotateVideoProgress( name: string @@ -474,9 +482,10 @@ export class VideoIntelligenceServiceClient { } /** - * 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index b9219e893ac..c77cb7901e8 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -57,8 +57,10 @@ export class VideoIntelligenceServiceClient { /** * Construct an instance of VideoIntelligenceServiceClient. * - * @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] @@ -78,44 +80,34 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; 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 VideoIntelligenceServiceClient 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 VideoIntelligenceServiceClient).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 +116,11 @@ export class VideoIntelligenceServiceClient { // 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) { @@ -262,6 +259,7 @@ export class VideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -270,6 +268,7 @@ export class VideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -277,6 +276,7 @@ export class VideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -285,6 +285,7 @@ export class VideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -294,8 +295,7 @@ export class VideoIntelligenceServiceClient { 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 @@ -388,8 +388,15 @@ export class VideoIntelligenceServiceClient { * @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.annotateVideo(request); + * const [response] = await operation.promise(); */ annotateVideo( request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, @@ -434,18 +441,19 @@ export class VideoIntelligenceServiceClient { return this.innerApiCalls.annotateVideo(request, options, callback); } /** - * Check the status of the long running operation returned by the annotateVideo() method. + * Check the status of the long running operation returned by `annotateVideo()`. * @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 checkAnnotateVideoProgress(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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAnnotateVideoProgress( name: string @@ -471,9 +479,10 @@ export class VideoIntelligenceServiceClient { } /** - * 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 7194c6815b7..f15cc441a83 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -57,8 +57,10 @@ export class VideoIntelligenceServiceClient { /** * Construct an instance of VideoIntelligenceServiceClient. * - * @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] @@ -78,44 +80,34 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; 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 VideoIntelligenceServiceClient 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 VideoIntelligenceServiceClient).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 +116,11 @@ export class VideoIntelligenceServiceClient { // 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) { @@ -262,6 +259,7 @@ export class VideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -270,6 +268,7 @@ export class VideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -277,6 +276,7 @@ export class VideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -285,6 +285,7 @@ export class VideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -294,8 +295,7 @@ export class VideoIntelligenceServiceClient { 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 @@ -388,8 +388,15 @@ export class VideoIntelligenceServiceClient { * @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.annotateVideo(request); + * const [response] = await operation.promise(); */ annotateVideo( request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, @@ -434,18 +441,19 @@ export class VideoIntelligenceServiceClient { return this.innerApiCalls.annotateVideo(request, options, callback); } /** - * Check the status of the long running operation returned by the annotateVideo() method. + * Check the status of the long running operation returned by `annotateVideo()`. * @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 checkAnnotateVideoProgress(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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAnnotateVideoProgress( name: string @@ -471,9 +479,10 @@ export class VideoIntelligenceServiceClient { } /** - * 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 1b9b0db8699..36e15d538ac 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -57,8 +57,10 @@ export class VideoIntelligenceServiceClient { /** * Construct an instance of VideoIntelligenceServiceClient. * - * @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] @@ -78,44 +80,34 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; 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 VideoIntelligenceServiceClient 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 VideoIntelligenceServiceClient).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 +116,11 @@ export class VideoIntelligenceServiceClient { // 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) { @@ -262,6 +259,7 @@ export class VideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -270,6 +268,7 @@ export class VideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -277,6 +276,7 @@ export class VideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -285,6 +285,7 @@ export class VideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -294,8 +295,7 @@ export class VideoIntelligenceServiceClient { 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 @@ -388,8 +388,15 @@ export class VideoIntelligenceServiceClient { * @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.annotateVideo(request); + * const [response] = await operation.promise(); */ annotateVideo( request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, @@ -434,18 +441,19 @@ export class VideoIntelligenceServiceClient { return this.innerApiCalls.annotateVideo(request, options, callback); } /** - * Check the status of the long running operation returned by the annotateVideo() method. + * Check the status of the long running operation returned by `annotateVideo()`. * @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 checkAnnotateVideoProgress(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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAnnotateVideoProgress( name: string @@ -471,9 +479,10 @@ export class VideoIntelligenceServiceClient { } /** - * 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index ba3db489b6a..22c2637aa98 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -50,8 +50,10 @@ export class StreamingVideoIntelligenceServiceClient { /** * Construct an instance of StreamingVideoIntelligenceServiceClient. * - * @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] @@ -71,44 +73,34 @@ export class StreamingVideoIntelligenceServiceClient { * 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 StreamingVideoIntelligenceServiceClient; 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 StreamingVideoIntelligenceServiceClient 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 StreamingVideoIntelligenceServiceClient).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 +109,11 @@ export class StreamingVideoIntelligenceServiceClient { // 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) { @@ -234,6 +231,7 @@ export class StreamingVideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -242,6 +240,7 @@ export class StreamingVideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -249,6 +248,7 @@ export class StreamingVideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -257,6 +257,7 @@ export class StreamingVideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -266,8 +267,7 @@ export class StreamingVideoIntelligenceServiceClient { 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 @@ -294,6 +294,15 @@ export class StreamingVideoIntelligenceServiceClient { * An object stream which is both readable and writable. It accepts objects * representing [StreamingAnnotateVideoRequest]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest} for write() method, and * will emit objects representing [StreamingAnnotateVideoResponse]{@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse} on 'data' event asynchronously. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#bi-directional-streaming) + * for more details and examples. + * @example + * const stream = client.streamingAnnotateVideo(); + * stream.on('data', (response) => { ... }); + * stream.on('end', () => { ... }); + * stream.write(request); + * stream.end(); */ streamingAnnotateVideo(options?: gax.CallOptions): gax.CancellableStream { this.initialize(); @@ -301,9 +310,10 @@ export class StreamingVideoIntelligenceServiceClient { } /** - * 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index e7d86ad8435..fce52a913a3 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -57,8 +57,10 @@ export class VideoIntelligenceServiceClient { /** * Construct an instance of VideoIntelligenceServiceClient. * - * @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] @@ -78,44 +80,34 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient; 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 VideoIntelligenceServiceClient 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 VideoIntelligenceServiceClient).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 +116,11 @@ export class VideoIntelligenceServiceClient { // 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) { @@ -262,6 +259,7 @@ export class VideoIntelligenceServiceClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'videointelligence.googleapis.com'; @@ -270,6 +268,7 @@ export class VideoIntelligenceServiceClient { /** * 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 'videointelligence.googleapis.com'; @@ -277,6 +276,7 @@ export class VideoIntelligenceServiceClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -285,6 +285,7 @@ export class VideoIntelligenceServiceClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return ['https://www.googleapis.com/auth/cloud-platform']; @@ -294,8 +295,7 @@ export class VideoIntelligenceServiceClient { 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 @@ -391,8 +391,15 @@ export class VideoIntelligenceServiceClient { * @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.annotateVideo(request); + * const [response] = await operation.promise(); */ annotateVideo( request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, @@ -437,18 +444,19 @@ export class VideoIntelligenceServiceClient { return this.innerApiCalls.annotateVideo(request, options, callback); } /** - * Check the status of the long running operation returned by the annotateVideo() method. + * Check the status of the long running operation returned by `annotateVideo()`. * @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 checkAnnotateVideoProgress(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 checkAnnotateVideoProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAnnotateVideoProgress( name: string @@ -474,9 +482,10 @@ export class VideoIntelligenceServiceClient { } /** - * 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 52ad7238fea..0198700d1d8 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "7c71dd6e0332794751d661b7e4b60cd2ff518a88" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e7375a91e7942c562c61495a908f4f6d50b4ea3f", - "internalRef": "334093713" + "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", + "sha": "78853bdb31bfd5ab192431be7104f146cd9019c6" } }, { "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.1898363003", "protos/google/cloud/videointelligence/v1/video_intelligence.proto", "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto", "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto", @@ -133,6 +126,7 @@ "protos/protos.json", "renovate.json", "samples/README.md", + "samples/package-lock.json.1526100258", "src/index.ts", "src/v1/index.ts", "src/v1/video_intelligence_service_client.ts", diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index 5f19a745b57..5c2f6905c67 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts @@ -18,8 +18,17 @@ import {VideoIntelligenceServiceClient} from '@google-cloud/video-intelligence'; +// check that the client class type name can be used +function doStuffWithVideoIntelligenceServiceClient( + client: VideoIntelligenceServiceClient +) { + client.close(); +} + function main() { - new VideoIntelligenceServiceClient(); + // check that the client instance can be created + const videoIntelligenceServiceClient = new VideoIntelligenceServiceClient(); + doStuffWithVideoIntelligenceServiceClient(videoIntelligenceServiceClient); } main(); diff --git a/packages/google-cloud-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index 4c1ba3eb79a..39d90f771de 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/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 6556dcab5e2f68ffc2f8029882f6808fb87922ba Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 16 Nov 2020 09:20:43 -0800 Subject: [PATCH 322/418] chore: release 3.1.1 (#494) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 6ac4df282b2..61ea70014f2 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.0...v3.1.1) (2020-11-07) + + +### Bug Fixes + +* do not modify options object, use defaultScopes ([#493](https://www.github.com/googleapis/nodejs-video-intelligence/issues/493)) ([10886ef](https://www.github.com/googleapis/nodejs-video-intelligence/commit/10886efd1287c37e97788f9c377427caa6c7ea22)) + ## [3.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.1...v3.1.0) (2020-10-29) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 973afa613f8..4c6acdd23dd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.1.0", + "version": "3.1.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index d2b9b8ce787..fb9458f7667 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.1.0", + "@google-cloud/video-intelligence": "^3.1.1", "yargs": "^15.0.0" }, "devDependencies": { From 6cee9e44fce695d27033316e54d43054d828ca05 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 19 Nov 2020 17:34:10 +0100 Subject: [PATCH 323/418] chore(deps): update dependency gts to v3 (#497) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4c6acdd23dd..30721277c06 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,7 @@ "@types/sinon": "^9.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", - "gts": "^2.0.0", + "gts": "^3.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", From 6b727d0dc78267ff9ba3536fe06185c8110066aa Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 19 Nov 2020 18:54:03 +0100 Subject: [PATCH 324/418] chore(deps): update dependency yargs to v16 (#500) --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index fb9458f7667..67e42503fd1 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@google-cloud/video-intelligence": "^3.1.1", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "devDependencies": { "chai": "^4.2.0", From b58efa268500f0b0d139a8eb078a6408d39d8f7f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 23 Nov 2020 20:38:04 +0100 Subject: [PATCH 325/418] chore(deps): update dependency webpack to v5 (#498) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [webpack](https://togithub.com/webpack/webpack) | [`^4.42.0` -> `^5.0.0`](https://renovatebot.com/diffs/npm/webpack/4.44.2/5.6.0) | [![age](https://badges.renovateapi.com/packages/npm/webpack/5.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/webpack/5.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/webpack/5.6.0/compatibility-slim/4.44.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/webpack/5.6.0/confidence-slim/4.44.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
webpack/webpack ### [`v5.6.0`](https://togithub.com/webpack/webpack/releases/v5.6.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.5.1...v5.6.0) ### Bugfixes - emit warnings/errors for exports in commonjs modules for which we know that they don't exist ### [`v5.5.1`](https://togithub.com/webpack/webpack/releases/v5.5.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.5.0...v5.5.1) ### Bugfixes - fix crash when \_\_esModule is defined with defineProperty without value ### [`v5.5.0`](https://togithub.com/webpack/webpack/releases/v5.5.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.4.0...v5.5.0) ### Bugfixes - fix ASI issues that occur between concatenated modules - fix incorrect handling of `[id]` and etc. in SourceMap sources - fix side-effect-free handling of exports for concatenated modules that causes an unused export - make ESM-CJS interop handling consistent - make `__esModule` flag consistent exposed - handle non enumerable exports - handle inherited exports - handle exported Promises ### [`v5.4.0`](https://togithub.com/webpack/webpack/releases/v5.4.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.3.2...v5.4.0) ### Bugfixes - fix renaming in super class expression in nested scopes - fix parsing and handling of browserlist queries - fix a few edge cases with ESM-CJS interop and .mjs - fix ASI edge cases ### [`v5.3.2`](https://togithub.com/webpack/webpack/releases/v5.3.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.3.1...v5.3.2) ### Bugfixes - runtime-dependent concatenated modules can generate code for runtime-dependent execution order of concatenated modules ### [`v5.3.1`](https://togithub.com/webpack/webpack/releases/v5.3.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.3.0...v5.3.1) ### Bugfixes - fix incorrect concatenation of modules when multiple runtimes are involved - fixes a "This should not happen" error - fixes a `__webpack_require__(null)` problem - run CLI correctly after installing - fixes a huge performance issue when processing minimized code with SourceMap - Use `string[]` types instead of `[string, ...string[]]` for arrays that must not be empty - this is more convinient to use ### Performance - avoid incorrect store of counts in the ProgressPlugin, which causes unneeded serialization of the Persistent Cache - upgrade terser-webpack-plugin for performance improvements - upgrade webpack-sources for performance improvements ### [`v5.3.0`](https://togithub.com/webpack/webpack/releases/v5.3.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.2.1...v5.3.0) ### Features and Bugfixes - generate runtime conditional code when modules are forcefully merged from multiple runtimes - This fixes a `Cannot read property 'call' of undefined` error in webpack runtime, because modules are used that are not in the graph in one runtime - disabled source code analysis for side effects in non-production modes - this causes unnecessary changes to parent modules in development - add `optimization.sideEffects: "flag"` as option for this ### [`v5.2.1`](https://togithub.com/webpack/webpack/releases/v5.2.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.2.0...v5.2.1) ##### Bugfixes - add `watchOptions.followSymlinks` option to schema - fix hard crash when calling resolve with undefined value - fix emit problem when files have hash in query string - fix unneeded generation of SourceMaps when no devtool is used - fixes a huge performance regression with terser-webpack-plugin ### [`v5.2.0`](https://togithub.com/webpack/webpack/releases/v5.2.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.1.3...v5.2.0) ### Features - add `sourceFilename` and `javascriptModule` to asset info for plugins ### Bugfixes - fix variable name collision when using module concatenation - fix arrow functions in ie 11 - fix `this` externals with module concatenation - force update for enhanced-resolve for critical bugfixes (see [changelog](https://togithub.com/webpack/enhanced-resolve/releases/tag/v5.3.0)) ### [`v5.1.3`](https://togithub.com/webpack/webpack/releases/v5.1.3) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.1.2...v5.1.3) ##### Bugfixes - omit unused modules from chunks when modules are only unused in some runtimes - fixes `Self-reference dependency has unused export name` error - fix order of asset optimization to fix conflict between compression-plugin and real hash plugin ### [`v5.1.2`](https://togithub.com/webpack/webpack/releases/v5.1.2) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.1.1...v5.1.2) ### Bugfixes - revert: omit unused modules from chunk when modules are only unused in some runtimes - caused issues with mini-css modules ### [`v5.1.1`](https://togithub.com/webpack/webpack/releases/v5.1.1) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.1.0...v5.1.1) ### Bugfixes - fix order of chunk hashing to allow to uses hashes in WebWorkers - update to terser-webpack-plugin 5 - reduces number of dependencies by dropping webpack 4 support - omit unused modules from chunk when modules are only unused in some runtimes - fixes `Self-reference dependency has unused export name` error - fix hanging production builds because of infinite loop in inner graph optimization - `Compilation.deleteAsset` updates chunk to file mappings ### [`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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 30721277c06..a00fc28c477 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -68,7 +68,6 @@ "sinon": "^9.0.2", "ts-loader": "^8.0.0", "typescript": "^3.8.3", - "webpack": "^4.42.0", "webpack-cli": "^3.3.11" } } From 8bc3e263c8d01b55efcb79a6dba3b681f3cfe26c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 23 Nov 2020 12:19:24 -0800 Subject: [PATCH 326/418] fix(browser): check for fetch on window (#501) --- .../package.json | 3 +- .../protos/protos.json | 144 ++++++++++++++++-- .../v1/video_intelligence_service_client.ts | 26 ++-- .../video_intelligence_service_client.ts | 26 ++-- .../video_intelligence_service_client.ts | 26 ++-- .../video_intelligence_service_client.ts | 26 ++-- ...aming_video_intelligence_service_client.ts | 18 ++- .../video_intelligence_service_client.ts | 26 ++-- .../synth.metadata | 14 +- .../gapic_video_intelligence_service_v1.ts | 9 -- ...apic_video_intelligence_service_v1beta2.ts | 9 -- ...ic_video_intelligence_service_v1p1beta1.ts | 9 -- ...ic_video_intelligence_service_v1p2beta1.ts | 9 -- ...ic_video_intelligence_service_v1p3beta1.ts | 9 -- 14 files changed, 244 insertions(+), 110 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a00fc28c477..fae1f6fc8fd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -67,7 +67,6 @@ "prettier": "^2.1.2", "sinon": "^9.0.2", "ts-loader": "^8.0.0", - "typescript": "^3.8.3", - "webpack-cli": "^3.3.11" + "typescript": "^3.8.3" } } diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 992dde4e349..7d0e322a1c5 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -32,7 +32,24 @@ "(google.api.method_signature)": "input_uri,features", "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/videos:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "input_uri,features" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AnnotateVideoResponse", + "metadata_type": "AnnotateVideoProgress" + } + } + ] } } }, @@ -964,7 +981,24 @@ "(google.api.method_signature)": "input_uri,features", "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta2/videos:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "input_uri,features" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AnnotateVideoResponse", + "metadata_type": "AnnotateVideoProgress" + } + } + ] } } }, @@ -1364,7 +1398,24 @@ "(google.api.method_signature)": "input_uri,features", "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p1beta1/videos:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "input_uri,features" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AnnotateVideoResponse", + "metadata_type": "AnnotateVideoProgress" + } + } + ] } } }, @@ -1798,7 +1849,24 @@ "(google.api.method_signature)": "input_uri,features", "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p2beta1/videos:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "input_uri,features" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AnnotateVideoResponse", + "metadata_type": "AnnotateVideoProgress" + } + } + ] } } }, @@ -2257,7 +2325,24 @@ "(google.api.method_signature)": "input_uri,features", "(google.longrunning.operation_info).response_type": "AnnotateVideoResponse", "(google.longrunning.operation_info).metadata_type": "AnnotateVideoProgress" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/videos:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "input_uri,features" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AnnotateVideoResponse", + "metadata_type": "AnnotateVideoProgress" + } + } + ] } } }, @@ -4441,7 +4526,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", @@ -4449,7 +4544,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", @@ -4457,7 +4562,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", @@ -4466,7 +4581,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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index e941db337d3..bae2f4273d3 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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/video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './video_intelligence_service_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -80,9 +86,9 @@ export class VideoIntelligenceServiceClient { * 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` @@ -96,7 +102,9 @@ export class VideoIntelligenceServiceClient { 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. @@ -313,7 +321,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -326,7 +334,7 @@ export class VideoIntelligenceServiceClient { >; annotateVideo( request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, @@ -404,7 +412,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, @@ -432,12 +440,12 @@ export class VideoIntelligenceServiceClient { ] > | 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index c77cb7901e8..f0a07cf5c18 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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/v1beta2/video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './video_intelligence_service_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -80,9 +86,9 @@ export class VideoIntelligenceServiceClient { * 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` @@ -96,7 +102,9 @@ export class VideoIntelligenceServiceClient { 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. @@ -313,7 +321,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -326,7 +334,7 @@ export class VideoIntelligenceServiceClient { >; annotateVideo( request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, @@ -401,7 +409,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, @@ -429,12 +437,12 @@ export class VideoIntelligenceServiceClient { ] > | 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index f15cc441a83..b09080e5662 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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/v1p1beta1/video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './video_intelligence_service_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -80,9 +86,9 @@ export class VideoIntelligenceServiceClient { * 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` @@ -96,7 +102,9 @@ export class VideoIntelligenceServiceClient { 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. @@ -313,7 +321,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -326,7 +334,7 @@ export class VideoIntelligenceServiceClient { >; annotateVideo( request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, @@ -401,7 +409,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, @@ -429,12 +437,12 @@ export class VideoIntelligenceServiceClient { ] > | 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 36e15d538ac..8605b0b30d8 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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/video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './video_intelligence_service_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -80,9 +86,9 @@ export class VideoIntelligenceServiceClient { * 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` @@ -96,7 +102,9 @@ export class VideoIntelligenceServiceClient { 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. @@ -313,7 +321,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -326,7 +334,7 @@ export class VideoIntelligenceServiceClient { >; annotateVideo( request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, @@ -401,7 +409,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, @@ -429,12 +437,12 @@ export class VideoIntelligenceServiceClient { ] > | 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 22c2637aa98..e87a8f0b687 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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/v1p3beta1/streaming_video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './streaming_video_intelligence_service_client_config.json'; const version = require('../../../package.json').version; @@ -73,9 +79,9 @@ export class StreamingVideoIntelligenceServiceClient { * 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` @@ -89,7 +95,9 @@ export class StreamingVideoIntelligenceServiceClient { 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. @@ -304,7 +312,7 @@ export class StreamingVideoIntelligenceServiceClient { * stream.write(request); * stream.end(); */ - streamingAnnotateVideo(options?: gax.CallOptions): gax.CancellableStream { + streamingAnnotateVideo(options?: CallOptions): gax.CancellableStream { this.initialize(); return this.innerApiCalls.streamingAnnotateVideo(options); } diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index fce52a913a3..cdf59694a82 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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/video_intelligence_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './video_intelligence_service_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -80,9 +86,9 @@ export class VideoIntelligenceServiceClient { * 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` @@ -96,7 +102,9 @@ export class VideoIntelligenceServiceClient { 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. @@ -313,7 +321,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -326,7 +334,7 @@ export class VideoIntelligenceServiceClient { >; annotateVideo( request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, @@ -404,7 +412,7 @@ export class VideoIntelligenceServiceClient { annotateVideo( request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, @@ -432,12 +440,12 @@ export class VideoIntelligenceServiceClient { ] > | 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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 0198700d1d8..49d9e888a59 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -3,8 +3,16 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-video-intelligence.git", - "sha": "78853bdb31bfd5ab192431be7104f146cd9019c6" + "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", + "sha": "00e4715e30bfa33393ef501295275ec0615aa105" + } + }, + { + "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.1898363003", "protos/google/cloud/videointelligence/v1/video_intelligence.proto", "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto", "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto", @@ -126,7 +133,6 @@ "protos/protos.json", "renovate.json", "samples/README.md", - "samples/package-lock.json.1526100258", "src/index.ts", "src/v1/index.ts", "src/v1/video_intelligence_service_client.ts", diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 4566c9546d4..1fa231b8120 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -41,15 +41,6 @@ function stubSimpleCall(response?: ResponseType, error?: 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, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index b1bb2769fa5..40ba2118222 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -41,15 +41,6 @@ function stubSimpleCall(response?: ResponseType, error?: 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, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index fa35877752f..100f45b45b6 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -41,15 +41,6 @@ function stubSimpleCall(response?: ResponseType, error?: 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, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index 9e4d4c36ab9..718ca8bf20a 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -41,15 +41,6 @@ function stubSimpleCall(response?: ResponseType, error?: 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, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index cf7ea8523fe..88ed9a90157 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -41,15 +41,6 @@ function stubSimpleCall(response?: ResponseType, error?: 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, From c65726bdb7cff0ea3b44d5a983741e740e1e40ad Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 25 Nov 2020 08:34:53 -0800 Subject: [PATCH 327/418] docs: spelling correction for "targetting" (#503) 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 --- .../google-cloud-videointelligence/README.md | 2 +- .../synth.metadata | 103 +----------------- 2 files changed, 3 insertions(+), 102 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index f0c101b161f..ecc02b0fb9b 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -152,7 +152,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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 49d9e888a59..47d9d93086a 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "00e4715e30bfa33393ef501295275ec0615aa105" + "sha": "2d3aa086d02e3ee0f238c4d81daeefbe2b355c11" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b" + "sha": "15013eff642a7e7e855aed5a29e6e83c39beba2a" } } ], @@ -69,104 +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/videointelligence/v1/video_intelligence.proto", - "protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto", - "protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto", - "protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto", - "protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto", - "protos/protos.d.ts", - "protos/protos.js", - "protos/protos.json", - "renovate.json", - "samples/README.md", - "src/index.ts", - "src/v1/index.ts", - "src/v1/video_intelligence_service_client.ts", - "src/v1/video_intelligence_service_client_config.json", - "src/v1/video_intelligence_service_proto_list.json", - "src/v1beta2/index.ts", - "src/v1beta2/video_intelligence_service_client.ts", - "src/v1beta2/video_intelligence_service_client_config.json", - "src/v1beta2/video_intelligence_service_proto_list.json", - "src/v1p1beta1/index.ts", - "src/v1p1beta1/video_intelligence_service_client.ts", - "src/v1p1beta1/video_intelligence_service_client_config.json", - "src/v1p1beta1/video_intelligence_service_proto_list.json", - "src/v1p2beta1/index.ts", - "src/v1p2beta1/video_intelligence_service_client.ts", - "src/v1p2beta1/video_intelligence_service_client_config.json", - "src/v1p2beta1/video_intelligence_service_proto_list.json", - "src/v1p3beta1/index.ts", - "src/v1p3beta1/streaming_video_intelligence_service_client.ts", - "src/v1p3beta1/streaming_video_intelligence_service_client_config.json", - "src/v1p3beta1/streaming_video_intelligence_service_proto_list.json", - "src/v1p3beta1/video_intelligence_service_client.ts", - "src/v1p3beta1/video_intelligence_service_client_config.json", - "src/v1p3beta1/video_intelligence_service_proto_list.json", - "system-test/fixtures/sample/src/index.js", - "system-test/fixtures/sample/src/index.ts", - "system-test/install.ts", - "test/gapic_streaming_video_intelligence_service_v1p3beta1.ts", - "test/gapic_video_intelligence_service_v1.ts", - "test/gapic_video_intelligence_service_v1beta2.ts", - "test/gapic_video_intelligence_service_v1p1beta1.ts", - "test/gapic_video_intelligence_service_v1p2beta1.ts", - "test/gapic_video_intelligence_service_v1p3beta1.ts", - "tsconfig.json", - "webpack.config.js" ] } \ No newline at end of file From b75c9f637e43f2f8c8031cb11e7c5e614aca27c7 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 2 Dec 2020 10:55:50 -0800 Subject: [PATCH 328/418] chore: release 3.1.2 (#502) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 61ea70014f2..a3c73d5b51a 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.1...v3.1.2) (2020-11-25) + + +### Bug Fixes + +* **browser:** check for fetch on window ([#501](https://www.github.com/googleapis/nodejs-video-intelligence/issues/501)) ([2d3aa08](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2d3aa086d02e3ee0f238c4d81daeefbe2b355c11)) + ### [3.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.0...v3.1.1) (2020-11-07) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index fae1f6fc8fd..58c3708c1ec 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.1.1", + "version": "3.1.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 67e42503fd1..d60b522cc2d 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.1.1", + "@google-cloud/video-intelligence": "^3.1.2", "yargs": "^16.0.0" }, "devDependencies": { From dd0606bc61f739fee86116c47d3d6ee7ee2446f8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 8 Dec 2020 13:03:41 -0800 Subject: [PATCH 329/418] docs: updated samples in READMEs (#507) * 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: generate GAPIC metadata JSON file PiperOrigin-RevId: 345596855 Source-Author: Google APIs Source-Date: Thu Dec 3 21:00:34 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: d189e871205fea665a9648f7c4676f027495ccaf Source-Link: https://github.com/googleapis/googleapis/commit/d189e871205fea665a9648f7c4676f027495ccaf --- .../google-cloud-videointelligence/README.md | 4 +- .../samples/README.md | 72 +++++++++---------- .../src/v1/gapic_metadata.json | 22 ++++++ .../src/v1beta2/gapic_metadata.json | 22 ++++++ .../src/v1p1beta1/gapic_metadata.json | 22 ++++++ .../src/v1p2beta1/gapic_metadata.json | 22 ++++++ .../src/v1p3beta1/gapic_metadata.json | 34 +++++++++ .../synth.metadata | 6 +- 8 files changed, 163 insertions(+), 41 deletions(-) create mode 100644 packages/google-cloud-videointelligence/src/v1/gapic_metadata.json create mode 100644 packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json create mode 100644 packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json create mode 100644 packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json create mode 100644 packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index ecc02b0fb9b..7d9fb8b066d 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -125,6 +125,8 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | +| Analyze-person-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) | +| Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | | Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | | Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | | Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | @@ -135,8 +137,6 @@ has instructions for running the samples. | Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | | Analyze_face_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection.js,samples/README.md) | | Analyze_face_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) | -| Analyze_person_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection.js,samples/README.md) | -| Analyze_person_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection_gcs.js,samples/README.md) | | Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | | Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 53c963d542a..daf4557e0e2 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -12,6 +12,8 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Analyze-person-detection-gcs](#analyze-person-detection-gcs) + * [Analyze-person-detection](#analyze-person-detection) * [Analyze-streaming-annotation-to-storage](#analyze-streaming-annotation-to-storage) * [Analyze-streaming-automl-classification](#analyze-streaming-automl-classification) * [Analyze-streaming-labels](#analyze-streaming-labels) @@ -22,8 +24,6 @@ * [Analyze.v1p2beta1](#analyze.v1p2beta1) * [Analyze_face_detection](#analyze_face_detection) * [Analyze_face_detection_gcs](#analyze_face_detection_gcs) - * [Analyze_person_detection](#analyze_person_detection) - * [Analyze_person_detection_gcs](#analyze_person_detection_gcs) * [Detect_logo](#detect_logo) * [Detect_logo_gcs](#detect_logo_gcs) * [Quickstart](#quickstart) @@ -43,6 +43,40 @@ Before running the samples, make sure you've followed the steps outlined in +### Analyze-person-detection-gcs + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze-person-detection-gcs.js` + + +----- + + + + +### Analyze-person-detection + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze-person-detection.js` + + +----- + + + + ### Analyze-streaming-annotation-to-storage View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js). @@ -213,40 +247,6 @@ __Usage:__ -### Analyze_person_detection - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze_person_detection.js` - - ------ - - - - -### Analyze_person_detection_gcs - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_person_detection_gcs.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_person_detection_gcs.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze_person_detection_gcs.js` - - ------ - - - - ### Detect_logo View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js). diff --git a/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..10b58ad31c3 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json @@ -0,0 +1,22 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.videointelligence.v1", + "libraryPackage": "@google-cloud/video-intelligence", + "services": {"VideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {,"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + } + } + }} +} diff --git a/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json new file mode 100644 index 00000000000..fbe19dd567b --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json @@ -0,0 +1,22 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.videointelligence.v1beta2", + "libraryPackage": "@google-cloud/video-intelligence", + "services": {"VideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {,"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + } + } + }} +} diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json new file mode 100644 index 00000000000..4d787a939bd --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json @@ -0,0 +1,22 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.videointelligence.v1p1beta1", + "libraryPackage": "@google-cloud/video-intelligence", + "services": {"VideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {,"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + } + } + }} +} diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json new file mode 100644 index 00000000000..2419727f0c4 --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json @@ -0,0 +1,22 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.videointelligence.v1p2beta1", + "libraryPackage": "@google-cloud/video-intelligence", + "services": {"VideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {,"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + } + } + }} +} diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json new file mode 100644 index 00000000000..d653b6aca8a --- /dev/null +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json @@ -0,0 +1,34 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.videointelligence.v1p3beta1", + "libraryPackage": "@google-cloud/video-intelligence", + "services": {"StreamingVideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "StreamingVideoIntelligenceServiceClient", + "rpcs": {"StreamingAnnotateVideo": { + "methods": ["streamingAnnotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "StreamingVideoIntelligenceServiceClient", + "rpcs": {} + } + } + },"VideoIntelligenceService": {"clients": { + "grpc": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + }, + "grpc-fallback": { + "libraryClient": "VideoIntelligenceServiceClient", + "rpcs": {,"AnnotateVideo": { + "methods": ["annotateVideo"] + }} + } + } + }} +} diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 47d9d93086a..cdc85e5b472 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "2d3aa086d02e3ee0f238c4d81daeefbe2b355c11" + "sha": "eec2a653aa635716c2d455152867ea2eef10d284" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "2f019bf70bfe06f1e2af1b04011b0a2405190e43", - "internalRef": "343202295" + "sha": "d189e871205fea665a9648f7c4676f027495ccaf", + "internalRef": "345596855" } }, { From c335969c956999564c0f0c68e3cf2e048e20ca60 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 8 Dec 2020 21:18:03 +0000 Subject: [PATCH 330/418] chore: release 3.2.0 (#505) :robot: I have created a release \*beep\* \*boop\* --- ## [3.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.2...v3.2.0) (2020-12-08) ### Features * person detection samples to GA ([#504](https://www.github.com/googleapis/nodejs-video-intelligence/issues/504)) ([eec2a65](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eec2a653aa635716c2d455152867ea2eef10d284)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index a3c73d5b51a..c72658d3688 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [3.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.2...v3.2.0) (2020-12-08) + + +### Features + +* person detection samples to GA ([#504](https://www.github.com/googleapis/nodejs-video-intelligence/issues/504)) ([eec2a65](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eec2a653aa635716c2d455152867ea2eef10d284)) + ### [3.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.1...v3.1.2) (2020-11-25) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 58c3708c1ec..a37ea47960d 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.1.2", + "version": "3.2.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index d60b522cc2d..a519695412c 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.1.2", + "@google-cloud/video-intelligence": "^3.2.0", "yargs": "^16.0.0" }, "devDependencies": { From d4c71d67291336950803e4e2ff1b554b736bb1e8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 11 Dec 2020 11:29:55 -0800 Subject: [PATCH 331/418] feat: introduce tracks and thumbnails fields for FaceDetectionAnnotation (#508) * chore: fixing syntax error in the GAPIC metadata JSON file Use gapic-generator-typescript v1.2.8. Committer: @alexander-fenster PiperOrigin-RevId: 345712055 Source-Author: Google APIs Source-Date: Fri Dec 4 10:54:47 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 16dd59787d6ce130ab66066c02eeea9dac0c8f0e Source-Link: https://github.com/googleapis/googleapis/commit/16dd59787d6ce130ab66066c02eeea9dac0c8f0e * fix:Introduce tracks and thumbnails fields for FaceDetectionAnnotations proto. PiperOrigin-RevId: 346138329 Source-Author: Google APIs Source-Date: Mon Dec 7 11:26:21 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 674ec0e684b20e57f8ab4811a44ba50631d0ef8b Source-Link: https://github.com/googleapis/googleapis/commit/674ec0e684b20e57f8ab4811a44ba50631d0ef8b --- .../v1/video_intelligence.proto | 6 ++ .../protos/protos.d.ts | 12 +++ .../protos/protos.js | 78 ++++++++++++++++++- .../protos/protos.json | 9 +++ .../src/v1/gapic_metadata.json | 27 +++++-- .../src/v1beta2/gapic_metadata.json | 27 +++++-- .../src/v1p1beta1/gapic_metadata.json | 27 +++++-- .../src/v1p2beta1/gapic_metadata.json | 27 +++++-- .../src/v1p3beta1/gapic_metadata.json | 41 +++++++--- .../synth.metadata | 6 +- 10 files changed, 212 insertions(+), 48 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto index 5b3a3e343c2..648ec475253 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto @@ -409,6 +409,12 @@ message NormalizedBoundingBox { // Face detection annotation. message FaceDetectionAnnotation { + // The face tracks with attributes. + repeated Track tracks = 3; + + // The thumbnail of a person's face. + bytes thumbnail = 4; + // Feature version. string version = 5; } diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 68341c20ae5..69202642a53 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -1852,6 +1852,12 @@ export namespace google { /** Properties of a FaceDetectionAnnotation. */ interface IFaceDetectionAnnotation { + /** FaceDetectionAnnotation tracks */ + tracks?: (google.cloud.videointelligence.v1.ITrack[]|null); + + /** FaceDetectionAnnotation thumbnail */ + thumbnail?: (Uint8Array|string|null); + /** FaceDetectionAnnotation version */ version?: (string|null); } @@ -1865,6 +1871,12 @@ export namespace google { */ constructor(properties?: google.cloud.videointelligence.v1.IFaceDetectionAnnotation); + /** FaceDetectionAnnotation tracks. */ + public tracks: google.cloud.videointelligence.v1.ITrack[]; + + /** FaceDetectionAnnotation thumbnail. */ + public thumbnail: (Uint8Array|string); + /** FaceDetectionAnnotation version. */ public version: string; diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 316875e6085..547c4d5d95b 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -4539,6 +4539,8 @@ * Properties of a FaceDetectionAnnotation. * @memberof google.cloud.videointelligence.v1 * @interface IFaceDetectionAnnotation + * @property {Array.|null} [tracks] FaceDetectionAnnotation tracks + * @property {Uint8Array|null} [thumbnail] FaceDetectionAnnotation thumbnail * @property {string|null} [version] FaceDetectionAnnotation version */ @@ -4551,12 +4553,29 @@ * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation=} [properties] Properties to set */ function FaceDetectionAnnotation(properties) { + this.tracks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } + /** + * FaceDetectionAnnotation tracks. + * @member {Array.} tracks + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @instance + */ + FaceDetectionAnnotation.prototype.tracks = $util.emptyArray; + + /** + * FaceDetectionAnnotation thumbnail. + * @member {Uint8Array} thumbnail + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @instance + */ + FaceDetectionAnnotation.prototype.thumbnail = $util.newBuffer([]); + /** * FaceDetectionAnnotation version. * @member {string} version @@ -4589,6 +4608,11 @@ FaceDetectionAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.tracks != null && message.tracks.length) + for (var i = 0; i < message.tracks.length; ++i) + $root.google.cloud.videointelligence.v1.Track.encode(message.tracks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thumbnail); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); return writer; @@ -4625,6 +4649,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 3: + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); + break; + case 4: + message.thumbnail = reader.bytes(); + break; case 5: message.version = reader.string(); break; @@ -4663,6 +4695,18 @@ FaceDetectionAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + if (message.tracks != null && message.hasOwnProperty("tracks")) { + if (!Array.isArray(message.tracks)) + return "tracks: array expected"; + for (var i = 0; i < message.tracks.length; ++i) { + var error = $root.google.cloud.videointelligence.v1.Track.verify(message.tracks[i]); + if (error) + return "tracks." + error; + } + } + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) + return "thumbnail: buffer expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -4681,6 +4725,21 @@ if (object instanceof $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation) return object; var message = new $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation(); + if (object.tracks) { + if (!Array.isArray(object.tracks)) + throw TypeError(".google.cloud.videointelligence.v1.FaceDetectionAnnotation.tracks: array expected"); + message.tracks = []; + for (var i = 0; i < object.tracks.length; ++i) { + if (typeof object.tracks[i] !== "object") + throw TypeError(".google.cloud.videointelligence.v1.FaceDetectionAnnotation.tracks: object expected"); + message.tracks[i] = $root.google.cloud.videointelligence.v1.Track.fromObject(object.tracks[i]); + } + } + if (object.thumbnail != null) + if (typeof object.thumbnail === "string") + $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); + else if (object.thumbnail.length) + message.thumbnail = object.thumbnail; if (object.version != null) message.version = String(object.version); return message; @@ -4699,8 +4758,25 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.arrays || options.defaults) + object.tracks = []; + if (options.defaults) { + if (options.bytes === String) + object.thumbnail = ""; + else { + object.thumbnail = []; + if (options.bytes !== Array) + object.thumbnail = $util.newBuffer(object.thumbnail); + } object.version = ""; + } + if (message.tracks && message.tracks.length) { + object.tracks = []; + for (var j = 0; j < message.tracks.length; ++j) + object.tracks[j] = $root.google.cloud.videointelligence.v1.Track.toObject(message.tracks[j], options); + } + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; return object; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 7d0e322a1c5..d6dc506bd63 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -383,6 +383,15 @@ }, "FaceDetectionAnnotation": { "fields": { + "tracks": { + "rule": "repeated", + "type": "Track", + "id": 3 + }, + "thumbnail": { + "type": "bytes", + "id": 4 + }, "version": { "type": "string", "id": 5 diff --git a/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json index 10b58ad31c3..daf4c17325e 100644 --- a/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json +++ b/packages/google-cloud-videointelligence/src/v1/gapic_metadata.json @@ -4,19 +4,30 @@ "language": "typescript", "protoPackage": "google.cloud.videointelligence.v1", "libraryPackage": "@google-cloud/video-intelligence", - "services": {"VideoIntelligenceService": {"clients": { + "services": { + "VideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {,"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } } } - }} + } + } } diff --git a/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json index fbe19dd567b..a1dcd92a1ab 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json +++ b/packages/google-cloud-videointelligence/src/v1beta2/gapic_metadata.json @@ -4,19 +4,30 @@ "language": "typescript", "protoPackage": "google.cloud.videointelligence.v1beta2", "libraryPackage": "@google-cloud/video-intelligence", - "services": {"VideoIntelligenceService": {"clients": { + "services": { + "VideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {,"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } } } - }} + } + } } diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json index 4d787a939bd..624b137955a 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/gapic_metadata.json @@ -4,19 +4,30 @@ "language": "typescript", "protoPackage": "google.cloud.videointelligence.v1p1beta1", "libraryPackage": "@google-cloud/video-intelligence", - "services": {"VideoIntelligenceService": {"clients": { + "services": { + "VideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {,"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } } } - }} + } + } } diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json index 2419727f0c4..701b895caf6 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/gapic_metadata.json @@ -4,19 +4,30 @@ "language": "typescript", "protoPackage": "google.cloud.videointelligence.v1p2beta1", "libraryPackage": "@google-cloud/video-intelligence", - "services": {"VideoIntelligenceService": {"clients": { + "services": { + "VideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {,"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } } } - }} + } + } } diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json b/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json index d653b6aca8a..eac12ff507b 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/gapic_metadata.json @@ -4,31 +4,48 @@ "language": "typescript", "protoPackage": "google.cloud.videointelligence.v1p3beta1", "libraryPackage": "@google-cloud/video-intelligence", - "services": {"StreamingVideoIntelligenceService": {"clients": { + "services": { + "StreamingVideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "StreamingVideoIntelligenceServiceClient", - "rpcs": {"StreamingAnnotateVideo": { - "methods": ["streamingAnnotateVideo"] - }} + "rpcs": { + "StreamingAnnotateVideo": { + "methods": [ + "streamingAnnotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "StreamingVideoIntelligenceServiceClient", "rpcs": {} } } - },"VideoIntelligenceService": {"clients": { + }, + "VideoIntelligenceService": { + "clients": { "grpc": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } }, "grpc-fallback": { "libraryClient": "VideoIntelligenceServiceClient", - "rpcs": {,"AnnotateVideo": { - "methods": ["annotateVideo"] - }} + "rpcs": { + "AnnotateVideo": { + "methods": [ + "annotateVideo" + ] + } + } } } - }} + } + } } diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index cdc85e5b472..103c2cac8fd 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "eec2a653aa635716c2d455152867ea2eef10d284" + "sha": "5b658eeaafe6693ba3dc7ea39650cf3827f23b26" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d189e871205fea665a9648f7c4676f027495ccaf", - "internalRef": "345596855" + "sha": "674ec0e684b20e57f8ab4811a44ba50631d0ef8b", + "internalRef": "346138329" } }, { From b74fef91e1080a6b6cf5c9cbd23c2184e1c66cd9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 22 Dec 2020 11:44:19 -0800 Subject: [PATCH 332/418] docs: add instructions for authenticating for system tests (#511) 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 --- .../CONTRIBUTING.md | 15 +++++++++++++-- packages/google-cloud-videointelligence/README.md | 3 +-- .../google-cloud-videointelligence/synth.metadata | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/CONTRIBUTING.md b/packages/google-cloud-videointelligence/CONTRIBUTING.md index f6c4cf010e3..4a96ee30466 100644 --- a/packages/google-cloud-videointelligence/CONTRIBUTING.md +++ b/packages/google-cloud-videointelligence/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 Video Intelligence 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=videointelligence.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 7d9fb8b066d..341358ead26 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -120,8 +120,7 @@ labels.forEach(label => { ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/tree/master/samples) directory. The samples' `README.md` -has instructions for running the samples. +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 103c2cac8fd..4bee23f3732 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "5b658eeaafe6693ba3dc7ea39650cf3827f23b26" + "sha": "d44ccc0af27eb4c3d7501c466e15271e1aa5980f" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "15013eff642a7e7e855aed5a29e6e83c39beba2a" + "sha": "363fe305e9ce34a6cd53951c6ee5f997094b54ee" } } ], From acf42c2e1ea6935e5adbe6d34e04b7e3c22b8b51 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 7 Jan 2021 12:00:04 -0800 Subject: [PATCH 333/418] docs: update dates (#513) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/000b31a7-d841-4bba-9f39-9c136bef31bc/targets - [ ] To automatically regenerate this PR, check this box. --- packages/google-cloud-videointelligence/.jsdoc.js | 4 ++-- packages/google-cloud-videointelligence/protos/protos.d.ts | 2 +- packages/google-cloud-videointelligence/protos/protos.js | 2 +- packages/google-cloud-videointelligence/src/v1/index.ts | 2 +- .../src/v1/video_intelligence_service_client.ts | 2 +- packages/google-cloud-videointelligence/src/v1beta2/index.ts | 2 +- .../src/v1beta2/video_intelligence_service_client.ts | 2 +- .../google-cloud-videointelligence/src/v1p1beta1/index.ts | 2 +- .../src/v1p1beta1/video_intelligence_service_client.ts | 2 +- .../google-cloud-videointelligence/src/v1p2beta1/index.ts | 2 +- .../src/v1p2beta1/video_intelligence_service_client.ts | 2 +- .../google-cloud-videointelligence/src/v1p3beta1/index.ts | 2 +- .../v1p3beta1/streaming_video_intelligence_service_client.ts | 2 +- .../src/v1p3beta1/video_intelligence_service_client.ts | 2 +- packages/google-cloud-videointelligence/synth.metadata | 2 +- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- .../google-cloud-videointelligence/system-test/install.ts | 2 +- .../gapic_streaming_video_intelligence_service_v1p3beta1.ts | 2 +- .../test/gapic_video_intelligence_service_v1.ts | 2 +- .../test/gapic_video_intelligence_service_v1beta2.ts | 2 +- .../test/gapic_video_intelligence_service_v1p1beta1.ts | 2 +- .../test/gapic_video_intelligence_service_v1p2beta1.ts | 2 +- .../test/gapic_video_intelligence_service_v1p3beta1.ts | 2 +- 24 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index f76333b57bb..bf5865b5784 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 69202642a53..fcab5d89535 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 547c4d5d95b..c88dbc93d7e 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/index.ts b/packages/google-cloud-videointelligence/src/v1/index.ts index 29edb22b187..b2e3b9d95ba 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index bae2f4273d3..9084adabffc 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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-videointelligence/src/v1beta2/index.ts b/packages/google-cloud-videointelligence/src/v1beta2/index.ts index 29edb22b187..b2e3b9d95ba 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index f0a07cf5c18..10a292d8b99 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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-videointelligence/src/v1p1beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts index 29edb22b187..b2e3b9d95ba 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index b09080e5662..f428d2f579a 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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-videointelligence/src/v1p2beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts index 29edb22b187..b2e3b9d95ba 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 8605b0b30d8..61226658178 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts index 949a1522853..6670c4eec79 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index e87a8f0b687..8d848244058 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index cdf59694a82..7528ee3f466 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 4bee23f3732..c8cfa101f26 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "d44ccc0af27eb4c3d7501c466e15271e1aa5980f" + "sha": "880709f665fd687a0730b7b6269e9b3f5d1779e2" } }, { diff --git a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js index 69b94d7706d..b4ad7f7a5e6 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index 5c2f6905c67..85c40eb82e2 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index 39d90f771de..d2d61c0396f 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index 870447eae74..645e5e2cae1 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 1fa231b8120..7e6eaf3ec61 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index 40ba2118222..8de0f6e71e7 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.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-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index 100f45b45b6..4c682b88c5b 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index 718ca8bf20a..f36669f5984 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index 88ed9a90157..28323f55129 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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. From 53852ecfcb0304b4514578b79c084e21324fd538 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 8 Jan 2021 19:22:17 -0800 Subject: [PATCH 334/418] docs: update go link --- packages/google-cloud-videointelligence/protos/protos.json | 2 +- packages/google-cloud-videointelligence/synth.metadata | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index d6dc506bd63..8a2855742dc 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -3574,7 +3574,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-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index c8cfa101f26..f259a31b6b6 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "880709f665fd687a0730b7b6269e9b3f5d1779e2" + "sha": "4310d185668b4994674a33c79ddb3044d16c8779" } }, { From 7a13823bcca72cccbfdf402e78b361aa17ba8b9b 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:36:11 +0000 Subject: [PATCH 335/418] chore: release 3.3.0 (#509) :robot: I have created a release \*beep\* \*boop\* --- ## [3.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.2.0...v3.3.0) (2021-01-09) ### Features * introduce tracks and thumbnails fields for FaceDetectionAnnotation ([#508](https://www.github.com/googleapis/nodejs-video-intelligence/issues/508)) ([9bfff4b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/9bfff4b941e9d52cd8c7051e8fba66a6256b854a)) --- 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-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index c72658d3688..f0927da1e6e 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [3.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.2.0...v3.3.0) (2021-01-09) + + +### Features + +* introduce tracks and thumbnails fields for FaceDetectionAnnotation ([#508](https://www.github.com/googleapis/nodejs-video-intelligence/issues/508)) ([9bfff4b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/9bfff4b941e9d52cd8c7051e8fba66a6256b854a)) + ## [3.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.2...v3.2.0) (2020-12-08) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a37ea47960d..e20db6a284e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.2.0", + "version": "3.3.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a519695412c..4a8fede0bb8 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.2.0", + "@google-cloud/video-intelligence": "^3.3.0", "yargs": "^16.0.0" }, "devDependencies": { From 295f18eed25448a51037b9a6cdadd2c156be54ff Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 27 Jan 2021 08:46:08 -0800 Subject: [PATCH 336/418] refactor(nodejs): move build cop to flakybot (#519) 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-videointelligence/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index f259a31b6b6..ae4e4af0f56 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "4310d185668b4994674a33c79ddb3044d16c8779" + "sha": "7384d17a1a7d91fb722bab097252abc17a36f8e1" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "363fe305e9ce34a6cd53951c6ee5f997094b54ee" + "sha": "57c23fa5705499a4181095ced81f0ee0933b64f6" } } ], From 6e2004b2ffba094db7ee93129af5b7ba064e7baa Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 2 Feb 2021 17:54:15 -0800 Subject: [PATCH 337/418] chore: update CODEOWNERS config (#520) --- packages/google-cloud-videointelligence/.repo-metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 7cb1244704d..8cbdb7848e0 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -9,5 +9,6 @@ "repo": "googleapis/nodejs-video-intelligence", "distribution_name": "@google-cloud/video-intelligence", "api_id": "videointelligence.googleapis.com", - "requires_billing": true + "requires_billing": true, + "codeowner_team": "@googleapis/ml-apis" } From 61b5bde6a7449056dfba8367a5347a3f6545eab1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 3 Feb 2021 18:14:05 -0800 Subject: [PATCH 338/418] build: adds UNORDERED_LIST enum (#521) 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-videointelligence/protos/protos.d.ts | 3 ++- packages/google-cloud-videointelligence/protos/protos.js | 7 +++++++ packages/google-cloud-videointelligence/protos/protos.json | 3 ++- packages/google-cloud-videointelligence/synth.metadata | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index fcab5d89535..4db64e9769b 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -17758,7 +17758,8 @@ export namespace google { REQUIRED = 2, OUTPUT_ONLY = 3, INPUT_ONLY = 4, - IMMUTABLE = 5 + IMMUTABLE = 5, + UNORDERED_LIST = 6 } } diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index c88dbc93d7e..0bf96aecf37 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -44761,6 +44761,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); @@ -44770,6 +44771,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; })(); @@ -50217,6 +50219,7 @@ case 3: case 4: case 5: + case 6: break; } } @@ -50312,6 +50315,10 @@ case 5: message[".google.api.fieldBehavior"][i] = 5; break; + case "UNORDERED_LIST": + case 6: + message[".google.api.fieldBehavior"][i] = 6; + break; } } return message; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 8a2855742dc..889e509528f 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -3567,7 +3567,8 @@ "REQUIRED": 2, "OUTPUT_ONLY": 3, "INPUT_ONLY": 4, - "IMMUTABLE": 5 + "IMMUTABLE": 5, + "UNORDERED_LIST": 6 } } } diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index ae4e4af0f56..11731302099 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "7384d17a1a7d91fb722bab097252abc17a36f8e1" + "sha": "774dc9633b292936aadda198bb66013150c2d94b" } }, { From 2f2f93c4182c3a0d06b374257edbd26be847aaf5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sun, 7 Mar 2021 09:00:15 -0800 Subject: [PATCH 339/418] build: update gapic-generator-typescript to v1.2.10. (#522) 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-videointelligence/synth.metadata | 6 +++--- packages/google-cloud-videointelligence/webpack.config.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata index 11731302099..4e1041bd75b 100644 --- a/packages/google-cloud-videointelligence/synth.metadata +++ b/packages/google-cloud-videointelligence/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "774dc9633b292936aadda198bb66013150c2d94b" + "sha": "e104e8eca61d898ca7eece18c27f3dd10a347acc" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "674ec0e684b20e57f8ab4811a44ba50631d0ef8b", - "internalRef": "346138329" + "sha": "5477122b3e8037a1dc5bc920536158edbd151dc4", + "internalRef": "361273630" } }, { diff --git a/packages/google-cloud-videointelligence/webpack.config.js b/packages/google-cloud-videointelligence/webpack.config.js index 89a526c8d56..c459721afee 100644 --- a/packages/google-cloud-videointelligence/webpack.config.js +++ b/packages/google-cloud-videointelligence/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 488a4e41b1fece78806987eb9b4337d7bd999524 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 23 Mar 2021 17:48:08 +0100 Subject: [PATCH 340/418] chore(deps): update dependency sinon to v10 (#526) [![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.2` -> `^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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e20db6a284e..baa6add2689 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -65,7 +65,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", - "sinon": "^9.0.2", + "sinon": "^10.0.0", "ts-loader": "^8.0.0", "typescript": "^3.8.3" } From 1e6ed454e2a336db70ba3a0b5b11fd5f65e70e8e Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Thu, 1 Apr 2021 23:52:20 -0700 Subject: [PATCH 341/418] chore: migrate to owl bot (#527) * chore: migrate to owl bot * chore: copy files from googleapis-gen fb91803ccef5d7c695139b22788b309e2197856b * chore: run the post processor --- .../.github/.OwlBot.yaml | 25 +++++++ .../.repo-metadata.json | 17 +++-- .../src/index.ts | 18 ++--- .../synth.metadata | 73 ------------------- .../google-cloud-videointelligence/synth.py | 31 -------- 5 files changed, 43 insertions(+), 121 deletions(-) create mode 100644 packages/google-cloud-videointelligence/.github/.OwlBot.yaml delete mode 100644 packages/google-cloud-videointelligence/synth.metadata delete mode 100644 packages/google-cloud-videointelligence/synth.py diff --git a/packages/google-cloud-videointelligence/.github/.OwlBot.yaml b/packages/google-cloud-videointelligence/.github/.OwlBot.yaml new file mode 100644 index 00000000000..fa3285d556b --- /dev/null +++ b/packages/google-cloud-videointelligence/.github/.OwlBot.yaml @@ -0,0 +1,25 @@ +# 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/videointelligence/(.*)/.*-nodejs/(.*) + dest: /owl-bot-staging/$1/$2 + +begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b + diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 8cbdb7848e0..32eafbca249 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -1,14 +1,15 @@ { - "name": "video", - "name_pretty": "Google Cloud Video Intelligence", - "product_documentation": "https://cloud.google.com/video-intelligence", - "client_documentation": "https://googleapis.dev/nodejs/video/latest", - "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", - "release_level": "ga", "language": "nodejs", "repo": "googleapis/nodejs-video-intelligence", - "distribution_name": "@google-cloud/video-intelligence", + "name": "video", + "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", + "default_version": "v1", "api_id": "videointelligence.googleapis.com", + "distribution_name": "@google-cloud/video-intelligence", "requires_billing": true, - "codeowner_team": "@googleapis/ml-apis" + "product_documentation": "https://cloud.google.com/video-intelligence", + "codeowner_team": "@googleapis/ml-apis", + "name_pretty": "Google Cloud Video Intelligence", + "client_documentation": "https://googleapis.dev/nodejs/video/latest", + "release_level": "ga" } diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index b8426bb62e6..80f72e72042 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -16,29 +16,29 @@ // ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** -import * as v1 from './v1'; -import * as v1beta2 from './v1beta2'; import * as v1p1beta1 from './v1p1beta1'; -import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; +import * as v1p2beta1 from './v1p2beta1'; +import * as v1beta2 from './v1beta2'; +import * as v1 from './v1'; const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; type VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; export { - v1, - v1beta2, v1p1beta1, - v1p2beta1, v1p3beta1, + v1p2beta1, + v1beta2, + v1, VideoIntelligenceServiceClient, }; export default { - v1, - v1beta2, v1p1beta1, - v1p2beta1, v1p3beta1, + v1p2beta1, + v1beta2, + v1, VideoIntelligenceServiceClient, }; import * as protos from '../protos/protos'; diff --git a/packages/google-cloud-videointelligence/synth.metadata b/packages/google-cloud-videointelligence/synth.metadata deleted file mode 100644 index 4e1041bd75b..00000000000 --- a/packages/google-cloud-videointelligence/synth.metadata +++ /dev/null @@ -1,73 +0,0 @@ -{ - "sources": [ - { - "git": { - "name": ".", - "remote": "https://github.com/googleapis/nodejs-video-intelligence.git", - "sha": "e104e8eca61d898ca7eece18c27f3dd10a347acc" - } - }, - { - "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": "57c23fa5705499a4181095ced81f0ee0933b64f6" - } - } - ], - "destinations": [ - { - "client": { - "source": "googleapis", - "apiName": "videointelligence", - "apiVersion": "v1beta2", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "videointelligence", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "videointelligence", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "videointelligence", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "videointelligence", - "apiVersion": "v1", - "language": "nodejs", - "generator": "bazel" - } - } - ] -} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/synth.py b/packages/google-cloud-videointelligence/synth.py deleted file mode 100644 index 338606b4d73..00000000000 --- a/packages/google-cloud-videointelligence/synth.py +++ /dev/null @@ -1,31 +0,0 @@ -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 - -gapic = gcp.GAPICBazel() -common_templates = gcp.CommonTemplates() - -versions = ["v1", "v1beta2", "v1p1beta1", "v1p2beta1", "v1p3beta1"] -default_version = "v1" - -# Rearrange the default version to the last item in the array, to generate appropriate system-test -order_versions = versions.copy() -order_versions.append(order_versions.pop( - order_versions.index(default_version))) - -for version in order_versions: - library = gapic.node_library("videointelligence", version) - - # skip index, protos, package.json, and README.md - s.copy(library, excludes=["package.json", "README.md"]) - -templates = common_templates.node_library( - source_location="build/src", versions=versions, default_version=default_version) -s.copy(templates) - -node.postprocess_gapic_library() From cf566e6945f5fbb6ea40781530e566a871a16bf4 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Mon, 5 Apr 2021 10:23:48 -0700 Subject: [PATCH 342/418] samples: updates face and person to v1 (#528) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * samples: updates face and person to v1 * 🦉 Updates from OwlBot * fix: docs link issues * fix: appeasethe doc checker * fix: revert READMEs * 🦉 Updates from OwlBot Co-authored-by: Owl Bot --- .../google-cloud-videointelligence/README.md | 4 +- .../linkinator.config.json | 4 +- .../samples/README.md | 72 +++++++++---------- 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 341358ead26..faf778c5b59 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -124,6 +124,8 @@ Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intel | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | +| Analyze-face-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) | +| Analyze-face-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) | | Analyze-person-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) | | Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | | Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | @@ -134,8 +136,6 @@ Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intel | Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | | Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | | Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | -| Analyze_face_detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection.js,samples/README.md) | -| Analyze_face_detection_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) | | Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | | Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 29a223b6db6..283aeb5d842 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -3,7 +3,9 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io" + "img.shields.io", + "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js", + "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js" ], "silent": true, "concurrency": 10 diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index daf4557e0e2..4df76883b7c 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -12,6 +12,8 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Analyze-face-detection-gcs](#analyze-face-detection-gcs) + * [Analyze-face-detection](#analyze-face-detection) * [Analyze-person-detection-gcs](#analyze-person-detection-gcs) * [Analyze-person-detection](#analyze-person-detection) * [Analyze-streaming-annotation-to-storage](#analyze-streaming-annotation-to-storage) @@ -22,8 +24,6 @@ * [Analyze-streaming-shot-change](#analyze-streaming-shot-change) * [Analyze](#analyze) * [Analyze.v1p2beta1](#analyze.v1p2beta1) - * [Analyze_face_detection](#analyze_face_detection) - * [Analyze_face_detection_gcs](#analyze_face_detection_gcs) * [Detect_logo](#detect_logo) * [Detect_logo_gcs](#detect_logo_gcs) * [Quickstart](#quickstart) @@ -43,6 +43,40 @@ Before running the samples, make sure you've followed the steps outlined in +### Analyze-face-detection-gcs + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze-face-detection-gcs.js` + + +----- + + + + +### Analyze-face-detection + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze-face-detection.js` + + +----- + + + + ### Analyze-person-detection-gcs View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js). @@ -213,40 +247,6 @@ __Usage:__ -### Analyze_face_detection - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze_face_detection.js` - - ------ - - - - -### Analyze_face_detection_gcs - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze_face_detection_gcs.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze_face_detection_gcs.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze_face_detection_gcs.js` - - ------ - - - - ### Detect_logo View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js). From 1cd17a9f000821f71bd96eacf3679f006afe29bd Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 12 Apr 2021 17:30:40 +0000 Subject: [PATCH 343/418] build: update .OwlBot.lock with new version of post-processor (#533) This PR updates the docker container used for OwlBot. This container performs post-processing tasks when pull-requests are opened on your repository, such as: * copying generated files into place. * generating common files from templates. Version sha256:256df8953e97a55641beb6496ec3ab3551231ee7a1b38abfa32d0c25965caf62 was published at 2021-04-12T16:37:17.341Z. --- packages/google-cloud-videointelligence/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index 80f72e72042..c7f9322fe12 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -18,8 +18,8 @@ import * as v1p1beta1 from './v1p1beta1'; import * as v1p3beta1 from './v1p3beta1'; -import * as v1p2beta1 from './v1p2beta1'; import * as v1beta2 from './v1beta2'; +import * as v1p2beta1 from './v1p2beta1'; import * as v1 from './v1'; const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; @@ -28,16 +28,16 @@ type VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; export { v1p1beta1, v1p3beta1, - v1p2beta1, v1beta2, + v1p2beta1, v1, VideoIntelligenceServiceClient, }; export default { v1p1beta1, v1p3beta1, - v1p2beta1, v1beta2, + v1p2beta1, v1, VideoIntelligenceServiceClient, }; From 84c299dab49a1c759b0195bf98d1e36292a377ea Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 14 Apr 2021 23:08:11 +0200 Subject: [PATCH 344/418] chore(deps): update dependency @types/sinon to v10 (#534) [![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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index baa6add2689..877d8305414 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -53,7 +53,7 @@ "@microsoft/api-extractor": "^7.8.10", "@types/mocha": "^8.0.0", "@types/node": "^12.12.29", - "@types/sinon": "^9.0.0", + "@types/sinon": "^10.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", "gts": "^3.0.0", From 7b3a4a0483884148af37b4b028a5a3cd3e7d4d47 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 20 Apr 2021 00:56:15 +0200 Subject: [PATCH 345/418] chore(deps): update dependency ts-loader to v9 (#538) [![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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 877d8305414..a1486fb939e 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -66,7 +66,7 @@ "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", "sinon": "^10.0.0", - "ts-loader": "^8.0.0", + "ts-loader": "^9.0.0", "typescript": "^3.8.3" } } From 2e0a07d80cf6dd139528c6670b11530947d7f476 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 28 Apr 2021 23:28:36 +0000 Subject: [PATCH 346/418] chore: release 3.3.1 (#531) :robot: I have created a release \*beep\* \*boop\* --- ### [3.3.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.0...v3.3.1) (2021-04-19) ### Bug Fixes * update region tag from v1beta1 to v1 for analyze-face-detection.js ([#530](https://www.github.com/googleapis/nodejs-video-intelligence/issues/530)) ([4d19f9d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/4d19f9de9e386ee92ed18d9302cddc61c2dc9865)) --- 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-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index f0927da1e6e..6d6dcd49137 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.0...v3.3.1) (2021-04-19) + + +### Bug Fixes + +* update region tag from v1beta1 to v1 for analyze-face-detection.js ([#530](https://www.github.com/googleapis/nodejs-video-intelligence/issues/530)) ([4d19f9d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/4d19f9de9e386ee92ed18d9302cddc61c2dc9865)) + ## [3.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.2.0...v3.3.0) (2021-01-09) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index a1486fb939e..32ccadcdadf 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.0", + "version": "3.3.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 4a8fede0bb8..27957547957 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.0", + "@google-cloud/video-intelligence": "^3.3.1", "yargs": "^16.0.0" }, "devDependencies": { From 4578c7feb6a0ed45616a2d538ebeee4c5a214e0b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 5 May 2021 19:28:03 +0000 Subject: [PATCH 347/418] chore: migrate videointelligence to the PHP microgenerator (#542) Committer: @miraleung PiperOrigin-RevId: 371236895 Source-Link: https://github.com/googleapis/googleapis/commit/1c56e2cd605d5485526cb0be10f021dcfe1e0db7 Source-Link: https://github.com/googleapis/googleapis-gen/commit/2878a8edd8bca84d833fe4db06adcd6790d507c9 --- .../linkinator.config.json | 4 +-- .../v1beta2/video_intelligence.proto | 10 ++++--- .../v1p1beta1/video_intelligence.proto | 26 ++++++++++++------- .../video_intelligence_service_client.ts | 10 ++++--- .../video_intelligence_service_client.ts | 14 +++++----- 5 files changed, 37 insertions(+), 27 deletions(-) diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 283aeb5d842..29a223b6db6 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -3,9 +3,7 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io", - "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js", - "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js" + "img.shields.io" ], "silent": true, "concurrency": 10 diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto index 690099751da..81648c523ec 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto @@ -64,9 +64,10 @@ message AnnotateVideoRequest { // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - // URI may include wildcards in `object-id`, and thus identify multiple - // videos. Supported wildcards: '*' to match 0 or more characters; + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + // may include wildcards in `object-id`, and thus identify multiple videos. + // Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -87,7 +88,8 @@ message AnnotateVideoRequest { // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - // more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto index a54bddd07d0..3c0b8b5626c 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto @@ -36,13 +36,15 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1p1beta1"; // Service that implements Google Cloud Video Intelligence API. service VideoIntelligenceService { option (google.api.default_host) = "videointelligence.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Performs asynchronous video annotation. Progress and results can be // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). - rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) { + rpc AnnotateVideo(AnnotateVideoRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p1beta1/videos:annotate" body: "*" @@ -61,10 +63,11 @@ message AnnotateVideoRequest { // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are // supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - // A video URI may include wildcards in `object-id`, and thus identify - // multiple videos. Supported wildcards: '*' to match 0 or more characters; + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + // may include wildcards in `object-id`, and thus identify multiple videos. + // Supported wildcards: '*' to match 0 or more characters; // '?' to match 1 character. If unset, the input video should be embedded // in the request as `input_content`. If set, `input_content` should be unset. string input_uri = 1; @@ -84,8 +87,9 @@ message AnnotateVideoRequest { // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) // URIs are supported, which must be specified in the following format: // `gs://bucket-id/object-id` (other URI formats return - // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + // more information, see [Request + // URIs](https://cloud.google.com/storage/docs/request-endpoints). string output_uri = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. Cloud region where annotation should take place. Supported cloud @@ -316,7 +320,8 @@ message SpeechTranscriptionConfig { bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. A means to provide context to assist the speech recognition. - repeated SpeechContext speech_contexts = 4 [(google.api.field_behavior) = OPTIONAL]; + repeated SpeechContext speech_contexts = 4 + [(google.api.field_behavior) = OPTIONAL]; // Optional. If 'true', adds punctuation to recognition result hypotheses. // This feature is only available in select languages. Setting this for @@ -324,7 +329,8 @@ message SpeechTranscriptionConfig { // does not add punctuation to result hypotheses. NOTE: "This is currently // offered as an experimental service, complimentary to all users. In the // future this may be exclusively available as a premium feature." - bool enable_automatic_punctuation = 5 [(google.api.field_behavior) = OPTIONAL]; + bool enable_automatic_punctuation = 5 + [(google.api.field_behavior) = OPTIONAL]; // Optional. For file formats, such as MXF or MKV, supporting multiple audio // tracks, specify up to two tracks. Default: track 0. diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 10a292d8b99..92e9def27ff 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -369,9 +369,10 @@ export class VideoIntelligenceServiceClient { * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). A video - * URI may include wildcards in `object-id`, and thus identify multiple - * videos. Supported wildcards: '*' to match 0 or more characters; + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * may include wildcards in `object-id`, and thus identify multiple videos. + * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {Buffer} request.inputContent @@ -388,7 +389,8 @@ export class VideoIntelligenceServiceClient { * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For - * more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index f428d2f579a..582be694edc 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -368,10 +368,11 @@ export class VideoIntelligenceServiceClient { * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). - * A video URI may include wildcards in `object-id`, and thus identify - * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * may include wildcards in `object-id`, and thus identify multiple videos. + * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded * in the request as `input_content`. If set, `input_content` should be unset. * @param {Buffer} request.inputContent @@ -387,8 +388,9 @@ export class VideoIntelligenceServiceClient { * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * {@link google.rpc.Code.INVALID_ARGUMENT|google.rpc.Code.INVALID_ARGUMENT}). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). * @param {string} [request.locationId] * Optional. Cloud region where annotation should take place. Supported cloud * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region From 7d913945d551316573ee618d3e6d6ff10418436d Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 6 May 2021 18:02:04 -0700 Subject: [PATCH 348/418] fix(deps): require google-gax v2.12.0 (#544) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 32ccadcdadf..8f80c3a0714 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -46,7 +46,7 @@ "api-documenter": "api-documenter yaml --input-folder=temp" }, "dependencies": { - "google-gax": "^2.9.2" + "google-gax": "^2.12.0" }, "devDependencies": { "@microsoft/api-documenter": "^7.8.10", From f4c889d4a0a651b152ecc4d1c97dc3d9d9ecd240 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:19 +0000 Subject: [PATCH 349/418] chore: new owl bot post processor docker image (#546) gcr.io/repo-automation-bots/owlbot-nodejs:latest@sha256:f93bb861d6f12574437bb9aee426b71eafd63b419669ff0ed029f4b7e7162e3f --- .../protos/protos.d.ts | 16 +- .../protos/protos.js | 32 ++-- .../v1/video_intelligence_service_client.ts | 15 +- .../video_intelligence_service_client.ts | 15 +- .../video_intelligence_service_client.ts | 15 +- .../video_intelligence_service_client.ts | 15 +- ...aming_video_intelligence_service_client.ts | 15 +- .../video_intelligence_service_client.ts | 15 +- .../system-test/fixtures/sample/src/index.js | 3 +- .../video_intelligence_service_smoke_test.ts | 14 +- ...ng_video_intelligence_service_v1p3beta1.ts | 114 +++++++------ .../gapic_video_intelligence_service_v1.ts | 97 +++++------ ...apic_video_intelligence_service_v1beta2.ts | 161 +++++++++--------- ...ic_video_intelligence_service_v1p1beta1.ts | 161 +++++++++--------- ...ic_video_intelligence_service_v1p2beta1.ts | 161 +++++++++--------- ...ic_video_intelligence_service_v1p3beta1.ts | 161 +++++++++--------- 16 files changed, 521 insertions(+), 489 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 4db64e9769b..b283b8b930f 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -4398,7 +4398,7 @@ export namespace google { public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long|string); + public trackId?: (number|Long|string|null); /** ObjectTrackingAnnotation entity. */ public entity?: (google.cloud.videointelligence.v1.IEntity|null); @@ -16061,7 +16061,7 @@ export namespace google { public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null); /** ObjectTrackingAnnotation trackId. */ - public trackId: (number|Long|string); + public trackId?: (number|Long|string|null); /** ObjectTrackingAnnotation entity. */ public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null); @@ -16271,7 +16271,7 @@ export namespace google { public videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null); /** StreamingAnnotateVideoRequest inputContent. */ - public inputContent: (Uint8Array|string); + public inputContent?: (Uint8Array|string|null); /** StreamingAnnotateVideoRequest streamingRequest. */ public streamingRequest?: ("videoConfig"|"inputContent"); @@ -17555,19 +17555,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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 0bf96aecf37..86a7e73d6e7 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -11227,11 +11227,11 @@ /** * ObjectTrackingAnnotation trackId. - * @member {number|Long} trackId + * @member {number|Long|null|undefined} trackId * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + ObjectTrackingAnnotation.prototype.trackId = null; /** * ObjectTrackingAnnotation entity. @@ -40490,11 +40490,11 @@ /** * ObjectTrackingAnnotation trackId. - * @member {number|Long} trackId + * @member {number|Long|null|undefined} trackId * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.trackId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + ObjectTrackingAnnotation.prototype.trackId = null; /** * ObjectTrackingAnnotation entity. @@ -41110,11 +41110,11 @@ /** * StreamingAnnotateVideoRequest inputContent. - * @member {Uint8Array} inputContent + * @member {Uint8Array|null|undefined} inputContent * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest * @instance */ - StreamingAnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]); + StreamingAnnotateVideoRequest.prototype.inputContent = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -44122,43 +44122,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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 9084adabffc..d94a68905b5 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -240,13 +240,14 @@ export class VideoIntelligenceServiceClient { const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const callPromise = this.videoIntelligenceServiceStub.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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 92e9def27ff..1cdb49503d1 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -240,13 +240,14 @@ export class VideoIntelligenceServiceClient { const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const callPromise = this.videoIntelligenceServiceStub.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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 582be694edc..44c8b8487e3 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -240,13 +240,14 @@ export class VideoIntelligenceServiceClient { const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const callPromise = this.videoIntelligenceServiceStub.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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 61226658178..1fdeb85c72a 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -240,13 +240,14 @@ export class VideoIntelligenceServiceClient { const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const callPromise = this.videoIntelligenceServiceStub.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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 8d848244058..0d1077e2a66 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -212,13 +212,14 @@ export class StreamingVideoIntelligenceServiceClient { ]; for (const methodName of streamingVideoIntelligenceServiceStubMethods) { const callPromise = this.streamingVideoIntelligenceServiceStub.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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 7528ee3f466..da2b6550357 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -240,13 +240,14 @@ export class VideoIntelligenceServiceClient { const videoIntelligenceServiceStubMethods = ['annotateVideo']; for (const methodName of videoIntelligenceServiceStubMethods) { const callPromise = this.videoIntelligenceServiceStub.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-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js index b4ad7f7a5e6..b3f8e9f1102 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js @@ -20,7 +20,8 @@ const videointelligence = require('@google-cloud/video-intelligence'); function main() { - const videoIntelligenceServiceClient = new videointelligence.VideoIntelligenceServiceClient(); + const videoIntelligenceServiceClient = + new videointelligence.VideoIntelligenceServiceClient(); } main(); diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts index dacede0c9a8..b10b910c40e 100644 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts +++ b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts @@ -19,11 +19,10 @@ const videoIntelligence = require('../src'); describe('VideoIntelligenceServiceSmokeTest', () => { it('successfully makes a call to the service', done => { - const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( - { + const client = + new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ // optional auth parameters. - } - ); + }); const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; @@ -64,11 +63,10 @@ describe('VideoIntelligenceServiceSmokeTest', () => { }); it('successfully makes a call to the service', done => { - const client = new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient( - { + const client = + new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ // optional auth parameters. - } - ); + }); const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; const featuresElement = 'LABEL_DETECTION'; diff --git a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index 645e5e2cae1..e4ca8309e94 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts @@ -28,10 +28,9 @@ import {PassThrough} from 'stream'; 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; @@ -75,49 +74,54 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - fallback: true, - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + fallback: true, + } + ); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.streamingVideoIntelligenceServiceStub); }); it('has close method', () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + 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); @@ -126,12 +130,13 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -150,12 +155,13 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { describe('streamingAnnotateVideo', () => { it('invokes streamingAnnotateVideo without error', async () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest() @@ -163,9 +169,8 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse() ); - client.innerApiCalls.streamingAnnotateVideo = stubBidiStreamingCall( - expectedResponse - ); + client.innerApiCalls.streamingAnnotateVideo = + stubBidiStreamingCall(expectedResponse); const stream = client.streamingAnnotateVideo(); const promise = new Promise((resolve, reject) => { stream.on( @@ -190,20 +195,20 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { .calledWithExactly(undefined) ); assert.deepStrictEqual( - (((stream as unknown) as PassThrough)._transform as SinonStub).getCall( - 0 - ).args[0], + ((stream as unknown as PassThrough)._transform as SinonStub).getCall(0) + .args[0], request ); }); it('invokes streamingAnnotateVideo with error', async () => { - const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest() @@ -236,9 +241,8 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { .calledWithExactly(undefined) ); assert.deepStrictEqual( - (((stream as unknown) as PassThrough)._transform as SinonStub).getCall( - 0 - ).args[0], + ((stream as unknown as PassThrough)._transform as SinonStub).getCall(0) + .args[0], request ); }); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 7e6eaf3ec61..9b371ec3a06 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -26,10 +26,9 @@ import * as videointelligenceserviceModule 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; @@ -96,49 +95,46 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ fallback: true, - } - ); + }); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); assert.strictEqual(client.videoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.videoIntelligenceServiceStub); }); it('has close method', () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ 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); @@ -147,12 +143,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -171,12 +166,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { describe('annotateVideo', () => { it('invokes annotateVideo without error', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() @@ -185,9 +179,8 @@ describe('v1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCall(expectedResponse); const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -199,12 +192,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo without error using callback', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() @@ -213,9 +205,8 @@ describe('v1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.annotateVideo( request, @@ -248,12 +239,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with call error', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() @@ -273,12 +263,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with LRO error', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() @@ -300,12 +289,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress without error', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const expectedResponse = generateSampleMessage( new operationsProtos.google.longrunning.Operation() @@ -324,12 +312,11 @@ describe('v1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress with error', async () => { - const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient( - { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - } - ); + }); client.initialize(); const expectedError = new Error('expected'); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index 8de0f6e71e7..a824f2c4f52 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -26,10 +26,9 @@ import * as videointelligenceserviceModule 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; @@ -97,49 +96,54 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert.strictEqual(client.videoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.videoIntelligenceServiceStub); }); it('has close method', () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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); @@ -148,12 +152,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -172,12 +177,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { describe('annotateVideo', () => { it('invokes annotateVideo without error', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() @@ -186,9 +192,8 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCall(expectedResponse); const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -200,12 +205,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo without error using callback', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() @@ -214,9 +220,8 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.annotateVideo( request, @@ -249,12 +254,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with call error', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() @@ -274,12 +280,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with LRO error', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() @@ -301,12 +308,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress without error', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedResponse = generateSampleMessage( new operationsProtos.google.longrunning.Operation() @@ -325,12 +333,13 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress with error', async () => { - const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedError = new Error('expected'); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index 4c682b88c5b..e4a29144124 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -26,10 +26,9 @@ import * as videointelligenceserviceModule 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; @@ -97,49 +96,54 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert.strictEqual(client.videoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.videoIntelligenceServiceStub); }); it('has close method', () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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); @@ -148,12 +152,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -172,12 +177,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { describe('annotateVideo', () => { it('invokes annotateVideo without error', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() @@ -186,9 +192,8 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCall(expectedResponse); const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -200,12 +205,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo without error using callback', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() @@ -214,9 +220,8 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.annotateVideo( request, @@ -249,12 +254,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with call error', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() @@ -274,12 +280,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with LRO error', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() @@ -301,12 +308,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress without error', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedResponse = generateSampleMessage( new operationsProtos.google.longrunning.Operation() @@ -325,12 +333,13 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress with error', async () => { - const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedError = new Error('expected'); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index f36669f5984..a08db765743 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -26,10 +26,9 @@ import * as videointelligenceserviceModule 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; @@ -97,49 +96,54 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert.strictEqual(client.videoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.videoIntelligenceServiceStub); }); it('has close method', () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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); @@ -148,12 +152,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -172,12 +177,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { describe('annotateVideo', () => { it('invokes annotateVideo without error', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() @@ -186,9 +192,8 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCall(expectedResponse); const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -200,12 +205,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo without error using callback', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() @@ -214,9 +220,8 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.annotateVideo( request, @@ -249,12 +254,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with call error', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() @@ -274,12 +280,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with LRO error', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() @@ -301,12 +308,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress without error', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedResponse = generateSampleMessage( new operationsProtos.google.longrunning.Operation() @@ -325,12 +333,13 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress with error', async () => { - const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedError = new Error('expected'); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index 28323f55129..a68a166007f 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -26,10 +26,9 @@ import * as videointelligenceserviceModule 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; @@ -97,49 +96,54 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('should create a client with no option', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); assert(client); }); it('should create a client with gRPC fallback', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); assert(client); }); it('has initialize method and supports deferred initialization', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); assert.strictEqual(client.videoIntelligenceServiceStub, undefined); await client.initialize(); assert(client.videoIntelligenceServiceStub); }); it('has close method', () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.close(); }); it('has getProjectId method', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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); @@ -148,12 +152,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { it('has getProjectId method with callback', async () => { const fakeProjectId = 'fake-project-id'; - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.auth.getProjectId = sinon .stub() .callsArgWith(0, null, fakeProjectId); @@ -172,12 +177,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { describe('annotateVideo', () => { it('invokes annotateVideo without error', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() @@ -186,9 +192,8 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCall(expectedResponse); const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -200,12 +205,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo without error using callback', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() @@ -214,9 +220,8 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.annotateVideo = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.annotateVideo = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.annotateVideo( request, @@ -249,12 +254,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with call error', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() @@ -274,12 +280,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('invokes annotateVideo with LRO error', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() @@ -301,12 +308,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress without error', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedResponse = generateSampleMessage( new operationsProtos.google.longrunning.Operation() @@ -325,12 +333,13 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { }); it('invokes checkAnnotateVideoProgress with error', async () => { - const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); client.initialize(); const expectedError = new Error('expected'); From 7c49e4306a54cfeb94efc60117ee8aa8500cade1 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:58:17 +0000 Subject: [PATCH 350/418] fix: use require() to load JSON protos (#548) 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 --- .../v1/video_intelligence_service_client.ts | 24 +++---------------- .../video_intelligence_service_client.ts | 24 +++---------------- .../video_intelligence_service_client.ts | 24 +++---------------- .../video_intelligence_service_client.ts | 24 +++---------------- ...aming_video_intelligence_service_client.ts | 18 ++------------ .../video_intelligence_service_client.ts | 24 +++---------------- 6 files changed, 17 insertions(+), 121 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index d94a68905b5..66987856aea 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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/video_intelligence_service_client_config.json`. @@ -143,32 +144,13 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 1cdb49503d1..4b186e3cf10 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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/v1beta2/video_intelligence_service_client_config.json`. @@ -143,32 +144,13 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 44c8b8487e3..2789742af15 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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/v1p1beta1/video_intelligence_service_client_config.json`. @@ -143,32 +144,13 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 1fdeb85c72a..1e723f66232 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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/video_intelligence_service_client_config.json`. @@ -143,32 +144,13 @@ export class VideoIntelligenceServiceClient { 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 0d1077e2a66..b2a56b9ed7e 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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/v1p3beta1/streaming_video_intelligence_service_client_config.json`. @@ -136,22 +137,7 @@ export class StreamingVideoIntelligenceServiceClient { 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); // Some of the methods on this service provide streaming responses. // Provide descriptors for these. diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index da2b6550357..134901e8902 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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/video_intelligence_service_client_config.json`. @@ -143,32 +144,13 @@ export class VideoIntelligenceServiceClient { 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({ From 6c9b243d8d08900341c2b19a1de99cfe675d5614 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 351/418] chore: update gapic-generator-typescript to v1.3.2 (#549) 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 --- .../src/v1/video_intelligence_service_client.ts | 1 - .../src/v1beta2/video_intelligence_service_client.ts | 1 - .../src/v1p1beta1/video_intelligence_service_client.ts | 1 - .../src/v1p2beta1/video_intelligence_service_client.ts | 1 - .../src/v1p3beta1/streaming_video_intelligence_service_client.ts | 1 - .../src/v1p3beta1/video_intelligence_service_client.ts | 1 - 6 files changed, 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 66987856aea..cdfbe4fb9c0 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 4b186e3cf10..2abe2ce13f5 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 2789742af15..983010664e7 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 1e723f66232..ab54ceea58e 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index b2a56b9ed7e..7b84196d0c0 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 134901e8902..605069a9531 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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'); From 09eaabdcb29dea2595da066c2db3e891345c8975 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 13 May 2021 10:38:26 -0700 Subject: [PATCH 352/418] chore: release 3.3.2 (#545) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 6d6dcd49137..772cc7ef1b6 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.1...v3.3.2) (2021-05-12) + + +### Bug Fixes + +* **deps:** require google-gax v2.12.0 ([#544](https://www.github.com/googleapis/nodejs-video-intelligence/issues/544)) ([da8698f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/da8698f4ce5b8853da2d66597efa204f8dd476b0)) +* use require() to load JSON protos ([#548](https://www.github.com/googleapis/nodejs-video-intelligence/issues/548)) ([589b3bb](https://www.github.com/googleapis/nodejs-video-intelligence/commit/589b3bb4fc1efe7dfc382ee3d49354e1b92dc044)) + ### [3.3.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.0...v3.3.1) (2021-04-19) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 8f80c3a0714..79990f4243a 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 27957547957..328cfe9d491 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.1", + "@google-cloud/video-intelligence": "^3.3.2", "yargs": "^16.0.0" }, "devDependencies": { From 62daa05837192d1c8a734f48c7b75a27b1edbcb4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 19 May 2021 20:30:24 +0000 Subject: [PATCH 353/418] chore: new owl bot post processor docker image (#551) gcr.io/repo-automation-bots/owlbot-nodejs:latest@sha256:f4734af778c3d0eb58a6db0078907a87f2e53f3c7a6422363fc37ee52e02b25a --- packages/google-cloud-videointelligence/src/index.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index c7f9322fe12..efb3f709ff6 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -16,28 +16,28 @@ // ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** -import * as v1p1beta1 from './v1p1beta1'; -import * as v1p3beta1 from './v1p3beta1'; import * as v1beta2 from './v1beta2'; +import * as v1p3beta1 from './v1p3beta1'; import * as v1p2beta1 from './v1p2beta1'; +import * as v1p1beta1 from './v1p1beta1'; import * as v1 from './v1'; const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; type VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; export { - v1p1beta1, - v1p3beta1, v1beta2, + v1p3beta1, v1p2beta1, + v1p1beta1, v1, VideoIntelligenceServiceClient, }; export default { - v1p1beta1, - v1p3beta1, v1beta2, + v1p3beta1, v1p2beta1, + v1p1beta1, v1, VideoIntelligenceServiceClient, }; From 5fa4b1410cc540e03c77add9e35c293c8a7fbc45 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 21 May 2021 19:04:28 +0200 Subject: [PATCH 354/418] chore(deps): update dependency @types/node to v14 (#552) 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) | [`^12.12.29` -> `^14.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/12.20.13/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/12.20.13)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/14.17.0/confidence-slim/12.20.13)](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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 79990f4243a..545b908ba68 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -52,7 +52,7 @@ "@microsoft/api-documenter": "^7.8.10", "@microsoft/api-extractor": "^7.8.10", "@types/mocha": "^8.0.0", - "@types/node": "^12.12.29", + "@types/node": "^14.0.0", "@types/sinon": "^10.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", From 81b55f4d8b020348c128a7689d739c6771a77373 Mon Sep 17 00:00:00 2001 From: Morgan Du Date: Mon, 24 May 2021 11:31:13 -0700 Subject: [PATCH 355/418] samples: add streaming_automl_object_tracking sample (#547) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * samples: add streaming_automl_object_tracking sample * fix: skip checking doc link before merged * 🦉 Updates from OwlBot Co-authored-by: Owl Bot --- .../google-cloud-videointelligence/README.md | 1 + .../linkinator.config.json | 3 ++- .../samples/README.md | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index faf778c5b59..3548199f9df 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -130,6 +130,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intel | Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | | Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | | Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | +| Analyze-streaming-automl-object-tracking | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) | | Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | | Analyze-streaming-object | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-object.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) | | Analyze-streaming-safe-search | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-safe-search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 29a223b6db6..6d30fbb7461 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -3,7 +3,8 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io" + "img.shields.io", + "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js" ], "silent": true, "concurrency": 10 diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 4df76883b7c..26f82ae0244 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -18,6 +18,7 @@ * [Analyze-person-detection](#analyze-person-detection) * [Analyze-streaming-annotation-to-storage](#analyze-streaming-annotation-to-storage) * [Analyze-streaming-automl-classification](#analyze-streaming-automl-classification) + * [Analyze-streaming-automl-object-tracking](#analyze-streaming-automl-object-tracking) * [Analyze-streaming-labels](#analyze-streaming-labels) * [Analyze-streaming-object](#analyze-streaming-object) * [Analyze-streaming-safe-search](#analyze-streaming-safe-search) @@ -145,6 +146,23 @@ __Usage:__ +### Analyze-streaming-automl-object-tracking + +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) + +__Usage:__ + + +`node samples/analyze-streaming-automl-object-tracking.js` + + +----- + + + + ### Analyze-streaming-labels View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js). From 6f529e49f372c67452bc95b7ab1ad2c7689795f0 Mon Sep 17 00:00:00 2001 From: Morgan Du Date: Mon, 24 May 2021 15:46:05 -0700 Subject: [PATCH 356/418] fix: remove doc config exception (#553) --- packages/google-cloud-videointelligence/linkinator.config.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 6d30fbb7461..29a223b6db6 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -3,8 +3,7 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io", - "https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js" + "img.shields.io" ], "silent": true, "concurrency": 10 From de50c68fd1029d385b5c494db444142168e24127 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 25 May 2021 17:56:30 +0200 Subject: [PATCH 357/418] chore(deps): update dependency sinon to v11 (#555) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 545b908ba68..bcb57322dc4 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -65,7 +65,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", - "sinon": "^10.0.0", + "sinon": "^11.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3" } From 0e55524febe71d01f60a9f648f115d19b9393efe Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 29 May 2021 20:54:04 +0000 Subject: [PATCH 358/418] chore: make generate_index_ts() deterministic (#558) Fixes https://github.com/googleapis/synthtool/issues/1103 Source-Link: https://github.com/googleapis/synthtool/commit/c3e41da0fa256ad7f6b4bc76b9d069dedecdfef4 Post-Processor: gcr.io/repo-automation-bots/owlbot-nodejs:latest@sha256:e37a815333a6f3e14d8532efe90cba8aa0d34210f8c0fdbdd9e6a34dcbe51e96 --- .../src/index.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index efb3f709ff6..b8426bb62e6 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -16,29 +16,29 @@ // ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** +import * as v1 from './v1'; import * as v1beta2 from './v1beta2'; -import * as v1p3beta1 from './v1p3beta1'; -import * as v1p2beta1 from './v1p2beta1'; import * as v1p1beta1 from './v1p1beta1'; -import * as v1 from './v1'; +import * as v1p2beta1 from './v1p2beta1'; +import * as v1p3beta1 from './v1p3beta1'; const VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; type VideoIntelligenceServiceClient = v1.VideoIntelligenceServiceClient; export { + v1, v1beta2, - v1p3beta1, - v1p2beta1, v1p1beta1, - v1, + v1p2beta1, + v1p3beta1, VideoIntelligenceServiceClient, }; export default { + v1, v1beta2, - v1p3beta1, - v1p2beta1, v1p1beta1, - v1, + v1p2beta1, + v1p3beta1, VideoIntelligenceServiceClient, }; import * as protos from '../protos/protos'; From f2516749a1025813d9ae3eff5e8fd947f2dbc978 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 7 Jun 2021 20:44:05 +0000 Subject: [PATCH 359/418] fix: GoogleAdsError missing using generator version after 1.3.0 (#556) [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 --- .../src/v1/video_intelligence_service_client.ts | 2 ++ .../src/v1beta2/video_intelligence_service_client.ts | 2 ++ .../src/v1p1beta1/video_intelligence_service_client.ts | 2 ++ .../src/v1p2beta1/video_intelligence_service_client.ts | 2 ++ .../v1p3beta1/streaming_video_intelligence_service_client.ts | 2 ++ .../src/v1p3beta1/video_intelligence_service_client.ts | 2 ++ 6 files changed, 12 insertions(+) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index cdfbe4fb9c0..4d9f4b6489e 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -138,6 +138,8 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 2abe2ce13f5..4e49ba80e84 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -138,6 +138,8 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 983010664e7..c7d5da80cc7 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -138,6 +138,8 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index ab54ceea58e..6ef54f75852 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -138,6 +138,8 @@ export class VideoIntelligenceServiceClient { } 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 7b84196d0c0..76ee58ef676 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -131,6 +131,8 @@ export class StreamingVideoIntelligenceServiceClient { } 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 605069a9531..25583a721e5 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -138,6 +138,8 @@ export class VideoIntelligenceServiceClient { } 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 7b745347df68d6fd44501b4cd3d77a5a0afe5a21 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 10 Jun 2021 06:44:05 +0000 Subject: [PATCH 360/418] chore: release 3.3.3 (#554) :robot: I have created a release \*beep\* \*boop\* --- ### [3.3.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.2...v3.3.3) (2021-06-10) ### Bug Fixes * GoogleAdsError missing using generator version after 1.3.0 ([#556](https://www.github.com/googleapis/nodejs-video-intelligence/issues/556)) ([be3a053](https://www.github.com/googleapis/nodejs-video-intelligence/commit/be3a053818f7b59825f777460e129a10ada7fd79)) * remove doc config exception ([#553](https://www.github.com/googleapis/nodejs-video-intelligence/issues/553)) ([39d0f04](https://www.github.com/googleapis/nodejs-video-intelligence/commit/39d0f04a9f37e649dae5a2ad559d21db99665bdf)) --- 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-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 772cc7ef1b6..f4cfe37b0c6 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.2...v3.3.3) (2021-06-10) + + +### Bug Fixes + +* GoogleAdsError missing using generator version after 1.3.0 ([#556](https://www.github.com/googleapis/nodejs-video-intelligence/issues/556)) ([be3a053](https://www.github.com/googleapis/nodejs-video-intelligence/commit/be3a053818f7b59825f777460e129a10ada7fd79)) +* remove doc config exception ([#553](https://www.github.com/googleapis/nodejs-video-intelligence/issues/553)) ([39d0f04](https://www.github.com/googleapis/nodejs-video-intelligence/commit/39d0f04a9f37e649dae5a2ad559d21db99665bdf)) + ### [3.3.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.1...v3.3.2) (2021-05-12) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index bcb57322dc4..ac3c7467f5a 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 328cfe9d491..b3e97fcf22d 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.2", + "@google-cloud/video-intelligence": "^3.3.3", "yargs": "^16.0.0" }, "devDependencies": { From 56da70831b0b9eb08b0ab1ef934838e671db44e0 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Thu, 10 Jun 2021 23:12:09 +0200 Subject: [PATCH 361/418] chore(nodejs): remove api-extractor dependencies (#564) --- packages/google-cloud-videointelligence/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ac3c7467f5a..2ac06c67591 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -41,16 +41,12 @@ "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-gax": "^2.12.0" }, "devDependencies": { - "@microsoft/api-documenter": "^7.8.10", - "@microsoft/api-extractor": "^7.8.10", "@types/mocha": "^8.0.0", "@types/node": "^14.0.0", "@types/sinon": "^10.0.0", From a7be52f957cd4f8ea1b4493796effab529eb491a 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:25 +0000 Subject: [PATCH 362/418] fix: make request optional in all cases (#566) ... 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/video_intelligence_service_client.ts | 4 ++-- .../src/v1beta2/video_intelligence_service_client.ts | 4 ++-- .../src/v1p1beta1/video_intelligence_service_client.ts | 4 ++-- .../src/v1p2beta1/video_intelligence_service_client.ts | 4 ++-- .../src/v1p3beta1/video_intelligence_service_client.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 4d9f4b6489e..12b5f9edc8f 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -304,7 +304,7 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, options?: CallOptions ): Promise< [ @@ -394,7 +394,7 @@ export class VideoIntelligenceServiceClient { * const [response] = await operation.promise(); */ annotateVideo( - request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 4e49ba80e84..d0faeb7381e 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -304,7 +304,7 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, options?: CallOptions ): Promise< [ @@ -393,7 +393,7 @@ export class VideoIntelligenceServiceClient { * const [response] = await operation.promise(); */ annotateVideo( - request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index c7d5da80cc7..56c2495c3e6 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -304,7 +304,7 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, options?: CallOptions ): Promise< [ @@ -393,7 +393,7 @@ export class VideoIntelligenceServiceClient { * const [response] = await operation.promise(); */ annotateVideo( - request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 6ef54f75852..6263a3cc525 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -304,7 +304,7 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, options?: CallOptions ): Promise< [ @@ -391,7 +391,7 @@ export class VideoIntelligenceServiceClient { * const [response] = await operation.promise(); */ annotateVideo( - request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 25583a721e5..5deb1c66871 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -304,7 +304,7 @@ export class VideoIntelligenceServiceClient { // ------------------- annotateVideo( - request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, options?: CallOptions ): Promise< [ @@ -394,7 +394,7 @@ export class VideoIntelligenceServiceClient { * const [response] = await operation.promise(); */ annotateVideo( - request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + request?: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, optionsOrCallback?: | CallOptions | Callback< From 856515aec52f956725521c0aa5fbef17b4ce2f26 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:56:19 +0000 Subject: [PATCH 363/418] chore: release 3.3.4 (#567) :robot: I have created a release \*beep\* \*boop\* --- ### [3.3.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.3...v3.3.4) (2021-06-22) ### Bug Fixes * make request optional in all cases ([#566](https://www.github.com/googleapis/nodejs-video-intelligence/issues/566)) ([ef7abca](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ef7abca3d3d7ba44f0fc8406ebef4a5396147bc4)) --- 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-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index f4cfe37b0c6..160b57f1f66 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.3...v3.3.4) (2021-06-22) + + +### Bug Fixes + +* make request optional in all cases ([#566](https://www.github.com/googleapis/nodejs-video-intelligence/issues/566)) ([ef7abca](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ef7abca3d3d7ba44f0fc8406ebef4a5396147bc4)) + ### [3.3.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.2...v3.3.3) (2021-06-10) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 2ac06c67591..de151c0eb1b 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.3", + "version": "3.3.4", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index b3e97fcf22d..05527657da8 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.3", + "@google-cloud/video-intelligence": "^3.3.4", "yargs": "^16.0.0" }, "devDependencies": { From 60774f1aba9944a4fcb1ad5c264f37f088a9c183 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 29 Jun 2021 11:24:46 -0400 Subject: [PATCH 364/418] fix(deps): google-gax v2.17.0 with mTLS (#573) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index de151c0eb1b..de9c4e4cfd0 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^2.12.0" + "google-gax": "^2.17.0" }, "devDependencies": { "@types/mocha": "^8.0.0", From 947a16ff47760558ac30e8ce411957092cf9e9ae Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 30 Jun 2021 16:10:27 +0000 Subject: [PATCH 365/418] chore: release 3.3.5 (#574) :robot: I have created a release \*beep\* \*boop\* --- ### [3.3.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.4...v3.3.5) (2021-06-30) ### Bug Fixes * **deps:** google-gax v2.17.0 with mTLS ([#573](https://www.github.com/googleapis/nodejs-video-intelligence/issues/573)) ([afb19b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/afb19b5d54518d672e761881110c69e78276f80c)) --- 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-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 160b57f1f66..ea52c45ee19 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.4...v3.3.5) (2021-06-30) + + +### Bug Fixes + +* **deps:** google-gax v2.17.0 with mTLS ([#573](https://www.github.com/googleapis/nodejs-video-intelligence/issues/573)) ([afb19b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/afb19b5d54518d672e761881110c69e78276f80c)) + ### [3.3.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.3...v3.3.4) (2021-06-22) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index de9c4e4cfd0..748cee7151f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.4", + "version": "3.3.5", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 05527657da8..23fd7a4f3b5 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.4", + "@google-cloud/video-intelligence": "^3.3.5", "yargs": "^16.0.0" }, "devDependencies": { From 9f702d167951d1b067b7517f0ef8572e1fceff3e Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 12 Jul 2021 17:46:12 -0400 Subject: [PATCH 366/418] fix(deps): google-gax v2.17.1 (#577) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 748cee7151f..80038155aff 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^2.17.0" + "google-gax": "^2.17.1" }, "devDependencies": { "@types/mocha": "^8.0.0", From 081c724c497d28946a252aaa304ecd8371927cc4 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:23 +0000 Subject: [PATCH 367/418] fix: Updating WORKSPACE files to use the newest version of the Typescript generator. (#579) 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/video_intelligence_service_client.ts | 11 ++++++++++- .../src/v1beta2/video_intelligence_service_client.ts | 11 ++++++++++- .../v1p1beta1/video_intelligence_service_client.ts | 11 ++++++++++- .../v1p2beta1/video_intelligence_service_client.ts | 11 ++++++++++- .../streaming_video_intelligence_service_client.ts | 11 ++++++++++- .../v1p3beta1/video_intelligence_service_client.ts | 11 ++++++++++- 6 files changed, 60 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 12b5f9edc8f..c5a7d8dc265 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -45,6 +45,7 @@ const version = require('../../../package.json').version; export class VideoIntelligenceServiceClient { 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: {}; @@ -56,6 +57,7 @@ export class VideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -100,6 +102,9 @@ export class VideoIntelligenceServiceClient { .constructor as typeof VideoIntelligenceServiceClient; 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 = @@ -186,6 +191,9 @@ export class VideoIntelligenceServiceClient { // 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; } /** @@ -215,7 +223,8 @@ export class VideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1 .VideoIntelligenceService, - 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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index d0faeb7381e..aebecd03d0f 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -45,6 +45,7 @@ const version = require('../../../package.json').version; export class VideoIntelligenceServiceClient { 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: {}; @@ -56,6 +57,7 @@ export class VideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -100,6 +102,9 @@ export class VideoIntelligenceServiceClient { .constructor as typeof VideoIntelligenceServiceClient; 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 = @@ -186,6 +191,9 @@ export class VideoIntelligenceServiceClient { // 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; } /** @@ -215,7 +223,8 @@ export class VideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1beta2 .VideoIntelligenceService, - 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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 56c2495c3e6..14ae1367424 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -45,6 +45,7 @@ const version = require('../../../package.json').version; export class VideoIntelligenceServiceClient { 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: {}; @@ -56,6 +57,7 @@ export class VideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -100,6 +102,9 @@ export class VideoIntelligenceServiceClient { .constructor as typeof VideoIntelligenceServiceClient; 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 = @@ -186,6 +191,9 @@ export class VideoIntelligenceServiceClient { // 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; } /** @@ -215,7 +223,8 @@ export class VideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1p1beta1 .VideoIntelligenceService, - 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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 6263a3cc525..ca2dfa6468e 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -45,6 +45,7 @@ const version = require('../../../package.json').version; export class VideoIntelligenceServiceClient { 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: {}; @@ -56,6 +57,7 @@ export class VideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -100,6 +102,9 @@ export class VideoIntelligenceServiceClient { .constructor as typeof VideoIntelligenceServiceClient; 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 = @@ -186,6 +191,9 @@ export class VideoIntelligenceServiceClient { // 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; } /** @@ -215,7 +223,8 @@ export class VideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1p2beta1 .VideoIntelligenceService, - 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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 76ee58ef676..f8034329b6b 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -39,6 +39,7 @@ const version = require('../../../package.json').version; export class StreamingVideoIntelligenceServiceClient { 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: {}; @@ -50,6 +51,7 @@ export class StreamingVideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; streamingVideoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -93,6 +95,9 @@ export class StreamingVideoIntelligenceServiceClient { .constructor as typeof StreamingVideoIntelligenceServiceClient; 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 = @@ -160,6 +165,9 @@ export class StreamingVideoIntelligenceServiceClient { // 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; } /** @@ -189,7 +197,8 @@ export class StreamingVideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1p3beta1 .StreamingVideoIntelligenceService, - 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 5deb1c66871..949697f9521 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -45,6 +45,7 @@ const version = require('../../../package.json').version; export class VideoIntelligenceServiceClient { 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: {}; @@ -56,6 +57,7 @@ export class VideoIntelligenceServiceClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; videoIntelligenceServiceStub?: Promise<{[name: string]: Function}>; @@ -100,6 +102,9 @@ export class VideoIntelligenceServiceClient { .constructor as typeof VideoIntelligenceServiceClient; 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 = @@ -186,6 +191,9 @@ export class VideoIntelligenceServiceClient { // 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; } /** @@ -215,7 +223,8 @@ export class VideoIntelligenceServiceClient { : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.videointelligence.v1p3beta1 .VideoIntelligenceService, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides From 46ff19a7d3f03c2bfbc0bc771d66c518f2c126aa Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 21 Jul 2021 01:16:12 +0000 Subject: [PATCH 368/418] chore: release 3.3.6 (#578) :robot: I have created a release \*beep\* \*boop\* --- ### [3.3.6](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.5...v3.3.6) (2021-07-21) ### Bug Fixes * **deps:** google-gax v2.17.1 ([#577](https://www.github.com/googleapis/nodejs-video-intelligence/issues/577)) ([53ba013](https://www.github.com/googleapis/nodejs-video-intelligence/commit/53ba01323adff17801b05c4d976368a691bc9f4b)) * Updating WORKSPACE files to use the newest version of the Typescript generator. ([#579](https://www.github.com/googleapis/nodejs-video-intelligence/issues/579)) ([46cfd26](https://www.github.com/googleapis/nodejs-video-intelligence/commit/46cfd265981b58b04dcc26960a9f0961c424cd92)) --- 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-videointelligence/CHANGELOG.md | 8 ++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index ea52c45ee19..2cd2c684779 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.3.6](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.5...v3.3.6) (2021-07-21) + + +### Bug Fixes + +* **deps:** google-gax v2.17.1 ([#577](https://www.github.com/googleapis/nodejs-video-intelligence/issues/577)) ([53ba013](https://www.github.com/googleapis/nodejs-video-intelligence/commit/53ba01323adff17801b05c4d976368a691bc9f4b)) +* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#579](https://www.github.com/googleapis/nodejs-video-intelligence/issues/579)) ([46cfd26](https://www.github.com/googleapis/nodejs-video-intelligence/commit/46cfd265981b58b04dcc26960a9f0961c424cd92)) + ### [3.3.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.4...v3.3.5) (2021-06-30) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 80038155aff..74639381d50 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.5", + "version": "3.3.6", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 23fd7a4f3b5..09c43ee0a19 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.5", + "@google-cloud/video-intelligence": "^3.3.6", "yargs": "^16.0.0" }, "devDependencies": { From 81979141d0725b46ddda02a07a3c5263084dcfb6 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Wed, 4 Aug 2021 16:00:32 -0400 Subject: [PATCH 369/418] chore(nodejs): update client ref docs link in metadata (#585) --- packages/google-cloud-videointelligence/.repo-metadata.json | 2 +- packages/google-cloud-videointelligence/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 32eafbca249..8a6368949ec 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -10,6 +10,6 @@ "product_documentation": "https://cloud.google.com/video-intelligence", "codeowner_team": "@googleapis/ml-apis", "name_pretty": "Google Cloud Video Intelligence", - "client_documentation": "https://googleapis.dev/nodejs/video/latest", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest", "release_level": "ga" } diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 3548199f9df..f6afe1a5925 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -202,7 +202,7 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/video/latest +[client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest [product-docs]: https://cloud.google.com/video-intelligence [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project From 173344ac1249cd8293f756c852f1676e497d1a81 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 9 Sep 2021 10:08:53 -0700 Subject: [PATCH 370/418] chore: disable renovate dependency dashboard (#1194) (#610) Source-Link: https://github.com/googleapis/synthtool/commit/31728d872f50e439ded2f67fa8d67955b26a4e35 Post-Processor: gcr.io/repo-automation-bots/owlbot-nodejs:latest@sha256:667a9e46a9aa5b80240ad164d55ac33bc9d6780b5ef42f125a41f0ad95bc1950 Co-authored-by: Owl Bot --- packages/google-cloud-videointelligence/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index f6afe1a5925..aa3295aeb46 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -193,8 +193,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 ca04450e2236b9140445f61c671c536150a1d561 Mon Sep 17 00:00:00 2001 From: Jeff Ching Date: Thu, 9 Sep 2021 10:39:29 -0700 Subject: [PATCH 371/418] fix(build): migrate to using main branch (#613) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(build): migrate to using main branch * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../google-cloud-videointelligence/README.md | 42 +++++++++---------- .../samples/README.md | 32 +++++++------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index aa3295aeb46..9a589287e32 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) @@ -15,7 +15,7 @@ Google Cloud Video Intelligence API client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-video-intelligence/blob/master/CHANGELOG.md). +[the CHANGELOG](https://github.com/googleapis/nodejs-video-intelligence/blob/main/CHANGELOG.md). * [Google Cloud Video Intelligence Node.js Client API Reference][client-docs] * [Google Cloud Video Intelligence Documentation][product-docs] @@ -120,26 +120,26 @@ labels.forEach(label => { ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Analyze-face-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) | -| Analyze-face-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) | -| Analyze-person-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) | -| Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | -| Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | -| Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | -| Analyze-streaming-automl-object-tracking | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) | -| Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | -| Analyze-streaming-object | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-object.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) | -| Analyze-streaming-safe-search | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-safe-search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) | -| Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | -| Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | -| Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | -| Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | -| Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Analyze-face-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) | +| Analyze-face-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) | +| Analyze-person-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) | +| Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | +| Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | +| Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | +| Analyze-streaming-automl-object-tracking | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-object-tracking.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) | +| Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | +| Analyze-streaming-object | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-object.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) | +| Analyze-streaming-safe-search | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-safe-search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) | +| Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | +| Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | +| Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | +| Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | +| Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | @@ -188,7 +188,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/blob/master/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/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`) @@ -200,7 +200,7 @@ to its templates in Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/master/LICENSE) +See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/main/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest [product-docs]: https://cloud.google.com/video-intelligence diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index 26f82ae0244..dea98de5f91 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -46,7 +46,7 @@ Before running the samples, make sure you've followed the steps outlined in ### Analyze-face-detection-gcs -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection-gcs.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection-gcs.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) @@ -63,7 +63,7 @@ __Usage:__ ### Analyze-face-detection -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-face-detection.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) @@ -80,7 +80,7 @@ __Usage:__ ### Analyze-person-detection-gcs -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection-gcs.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection-gcs.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) @@ -97,7 +97,7 @@ __Usage:__ ### Analyze-person-detection -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-person-detection.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) @@ -114,7 +114,7 @@ __Usage:__ ### Analyze-streaming-annotation-to-storage -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-annotation-to-storage.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-annotation-to-storage.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) @@ -131,7 +131,7 @@ __Usage:__ ### Analyze-streaming-automl-classification -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-classification.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-classification.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) @@ -148,7 +148,7 @@ __Usage:__ ### Analyze-streaming-automl-object-tracking -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-automl-object-tracking.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-object-tracking.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) @@ -165,7 +165,7 @@ __Usage:__ ### Analyze-streaming-labels -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-labels.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-labels.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) @@ -182,7 +182,7 @@ __Usage:__ ### Analyze-streaming-object -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-object.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-object.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) @@ -199,7 +199,7 @@ __Usage:__ ### Analyze-streaming-safe-search -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-safe-search.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-safe-search.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) @@ -216,7 +216,7 @@ __Usage:__ ### Analyze-streaming-shot-change -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze-streaming-shot-change.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-shot-change.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) @@ -233,7 +233,7 @@ __Usage:__ ### Analyze -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) @@ -250,7 +250,7 @@ __Usage:__ ### Analyze.v1p2beta1 -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/analyze.v1p2beta1.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.v1p2beta1.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) @@ -267,7 +267,7 @@ __Usage:__ ### Detect_logo -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) @@ -284,7 +284,7 @@ __Usage:__ ### Detect_logo_gcs -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/detect_logo_gcs.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo_gcs.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) @@ -301,7 +301,7 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/quickstart.js). +View the [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) From 8461d086da11b1d5bfeb7173968acc7963b1b8ca Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 15 Sep 2021 07:16:26 -0700 Subject: [PATCH 372/418] feat: turns on self-signed JWT feature flag (#608) PiperOrigin-RevId: 392067151 Source-Link: https://github.com/googleapis/googleapis/commit/06345f7b95c4b4a3ffe4303f1f2984ccc304b2e0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/95882b37970e41e4cd51b22fa507cfd46dc7c4b6 Co-authored-by: Owl Bot Co-authored-by: Justin Beckwith Co-authored-by: Benjamin E. Coe --- .../src/v1/video_intelligence_service_client.ts | 7 +++++++ .../src/v1beta2/video_intelligence_service_client.ts | 7 +++++++ .../src/v1p1beta1/video_intelligence_service_client.ts | 7 +++++++ .../src/v1p2beta1/video_intelligence_service_client.ts | 7 +++++++ .../streaming_video_intelligence_service_client.ts | 6 ++++++ .../src/v1p3beta1/video_intelligence_service_client.ts | 7 +++++++ 6 files changed, 41 insertions(+) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index c5a7d8dc265..497407009f1 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -129,6 +129,12 @@ export class VideoIntelligenceServiceClient { // 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; @@ -494,6 +500,7 @@ export class VideoIntelligenceServiceClient { return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index aebecd03d0f..bb0b3f91b14 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -129,6 +129,12 @@ export class VideoIntelligenceServiceClient { // 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; @@ -493,6 +499,7 @@ export class VideoIntelligenceServiceClient { return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 14ae1367424..27d3ed3f01e 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -129,6 +129,12 @@ export class VideoIntelligenceServiceClient { // 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; @@ -493,6 +499,7 @@ export class VideoIntelligenceServiceClient { return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index ca2dfa6468e..528e1e8d9b9 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -129,6 +129,12 @@ export class VideoIntelligenceServiceClient { // 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; @@ -491,6 +497,7 @@ export class VideoIntelligenceServiceClient { return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index f8034329b6b..ea41578841a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -122,6 +122,12 @@ export class StreamingVideoIntelligenceServiceClient { // 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 949697f9521..36a89c3a4cb 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -129,6 +129,12 @@ export class VideoIntelligenceServiceClient { // 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; @@ -494,6 +500,7 @@ export class VideoIntelligenceServiceClient { return this.videoIntelligenceServiceStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); From e320e1649de0b91e74a66ebc709916881f0eb7b8 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 15 Sep 2021 14:34:25 +0000 Subject: [PATCH 373/418] chore: release 3.4.0 (#616) :robot: I have created a release \*beep\* \*boop\* --- ## [3.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.6...v3.4.0) (2021-09-15) ### Features * turns on self-signed JWT feature flag ([#608](https://www.github.com/googleapis/nodejs-video-intelligence/issues/608)) ([a08a54b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a08a54b3c49464ca5b8df8ba924d244ab61665ba)) ### Bug Fixes * **build:** migrate to using main branch ([#613](https://www.github.com/googleapis/nodejs-video-intelligence/issues/613)) ([68e079f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/68e079f1d985d60576342663a2008d316502e205)) --- 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-videointelligence/CHANGELOG.md | 12 ++++++++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../samples/package.json | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index 2cd2c684779..bf14abf950f 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,18 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [3.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.6...v3.4.0) (2021-09-15) + + +### Features + +* turns on self-signed JWT feature flag ([#608](https://www.github.com/googleapis/nodejs-video-intelligence/issues/608)) ([a08a54b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a08a54b3c49464ca5b8df8ba924d244ab61665ba)) + + +### Bug Fixes + +* **build:** migrate to using main branch ([#613](https://www.github.com/googleapis/nodejs-video-intelligence/issues/613)) ([68e079f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/68e079f1d985d60576342663a2008d316502e205)) + ### [3.3.6](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.5...v3.3.6) (2021-07-21) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 74639381d50..f02979a38e9 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.3.6", + "version": "3.4.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 09c43ee0a19..2e4d6cc86f9 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.3.6", + "@google-cloud/video-intelligence": "^3.4.0", "yargs": "^16.0.0" }, "devDependencies": { From bf403b8ad42df34118fb51c92391e3ee19cce178 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 15 Sep 2021 12:35:36 -0400 Subject: [PATCH 374/418] fix(deps): require google-gax v2.24.1 (#589) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f02979a38e9..286223d0a0f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^2.17.1" + "google-gax": "^2.24.1" }, "devDependencies": { "@types/mocha": "^8.0.0", From b034798b759ffb533e302080de636b3e2b2972d0 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 15 Sep 2021 16:52:10 +0000 Subject: [PATCH 375/418] chore: release 3.4.1 (#618) :robot: I have created a release \*beep\* \*boop\* --- ### [3.4.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.4.0...v3.4.1) (2021-09-15) ### Bug Fixes * **deps:** require google-gax v2.24.1 ([#589](https://www.github.com/googleapis/nodejs-video-intelligence/issues/589)) ([6af1a84](https://www.github.com/googleapis/nodejs-video-intelligence/commit/6af1a84112ab56a3ff2862ff7a5eda0da9772244)) --- 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-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index bf14abf950f..d2dced63d63 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +### [3.4.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.4.0...v3.4.1) (2021-09-15) + + +### Bug Fixes + +* **deps:** require google-gax v2.24.1 ([#589](https://www.github.com/googleapis/nodejs-video-intelligence/issues/589)) ([6af1a84](https://www.github.com/googleapis/nodejs-video-intelligence/commit/6af1a84112ab56a3ff2862ff7a5eda0da9772244)) + ## [3.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.6...v3.4.0) (2021-09-15) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 286223d0a0f..39b7c03ca31 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.4.0", + "version": "3.4.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 2e4d6cc86f9..e6210830c86 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.4.0", + "@google-cloud/video-intelligence": "^3.4.1", "yargs": "^16.0.0" }, "devDependencies": { From da60c8db7056ac79c6934274a07fecd966cd9bbf Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Tue, 21 Sep 2021 07:14:35 -0700 Subject: [PATCH 376/418] chore: relocate owl bot post processor (#619) chore: relocate owl bot post processor --- packages/google-cloud-videointelligence/.github/.OwlBot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/.github/.OwlBot.yaml b/packages/google-cloud-videointelligence/.github/.OwlBot.yaml index fa3285d556b..df437980d14 100644 --- a/packages/google-cloud-videointelligence/.github/.OwlBot.yaml +++ b/packages/google-cloud-videointelligence/.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: - /owl-bot-staging From 68303116d70ac603cbef48c5d334469420966e6f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 28 Sep 2021 11:10:02 -0700 Subject: [PATCH 377/418] docs: auto-generate samples and update protos (#622) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(ruby)!: Fix Ruby namespace for videointelligence/v1p3beta1 PiperOrigin-RevId: 399448269 Source-Link: https://github.com/googleapis/googleapis/commit/f75ccc2ee2dfc6328847a670b96cb8a56494acec Source-Link: https://github.com/googleapis/googleapis-gen/commit/6e2de2190c38b1e188523f28f4d32f958d2ad244 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNmUyZGUyMTkwYzM4YjFlMTg4NTIzZjI4ZjRkMzJmOTU4ZDJhZDI0NCJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../v1p3beta1/video_intelligence.proto | 1 + .../protos/protos.json | 3 +- ...deo_intelligence_service.annotate_video.js | 95 +++++++++++++++++++ ...deo_intelligence_service.annotate_video.js | 94 ++++++++++++++++++ ...deo_intelligence_service.annotate_video.js | 94 ++++++++++++++++++ ...deo_intelligence_service.annotate_video.js | 92 ++++++++++++++++++ ...igence_service.streaming_annotate_video.js | 73 ++++++++++++++ ...deo_intelligence_service.annotate_video.js | 95 +++++++++++++++++++ 8 files changed, 546 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto index 6284e0db384..db039e67a0c 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto @@ -30,6 +30,7 @@ option java_multiple_files = true; option java_outer_classname = "VideoIntelligenceServiceProto"; option java_package = "com.google.cloud.videointelligence.v1p3beta1"; option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1"; +option ruby_package = "Google::Cloud::VideoIntelligence::V1p3beta1"; // Service that implements the Video Intelligence API. service VideoIntelligenceService { diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index 889e509528f..e8af7c9720f 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -2316,7 +2316,8 @@ "java_multiple_files": true, "java_outer_classname": "VideoIntelligenceServiceProto", "java_package": "com.google.cloud.videointelligence.v1p3beta1", - "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1" + "php_namespace": "Google\\Cloud\\VideoIntelligence\\V1p3beta1", + "ruby_package": "Google::Cloud::VideoIntelligence::V1p3beta1" }, "nested": { "VideoIntelligenceService": { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js new file mode 100644 index 00000000000..7ee3de84242 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js @@ -0,0 +1,95 @@ +// 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(features) { + // [START videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Input video location. Currently, only + * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported. URIs must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * multiple videos, a video URI may include wildcards in the `object-id`. + * Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` must be unset. + */ + // const inputUri = 'abc123' + /** + * The video data bytes. + * If unset, the input video(s) should be specified via the `input_uri`. + * If set, `input_uri` must be unset. + */ + // const inputContent = 'Buffer.from('string')' + /** + * Required. Requested video annotation features. + */ + // const features = 1234 + /** + * Additional video context and/or feature-specific parameters. + */ + // const videoContext = '' + /** + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported. These must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). + */ + // const outputUri = 'abc123' + /** + * Optional. Cloud region where annotation should take place. Supported cloud + * regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, the region will be determined based on video file + * location. + */ + // const locationId = 'abc123' + + // Imports the Videointelligence library + const {VideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1; + + // Instantiates a client + const videointelligenceClient = new VideoIntelligenceServiceClient(); + + async function annotateVideo() { + // Construct request + const request = { + features, + }; + + // Run request + const [operation] = await videointelligenceClient.annotateVideo(request); + const [response] = await operation.promise(); + console.log(response); + } + + annotateVideo(); + // [END videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js new file mode 100644 index 00000000000..b24ac2f4520 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js @@ -0,0 +1,94 @@ +// 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(features) { + // [START videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * may include wildcards in `object-id`, and thus identify multiple videos. + * Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + */ + // const inputUri = 'abc123' + /** + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + */ + // const inputContent = 'Buffer.from('string')' + /** + * Required. Requested video annotation features. + */ + // const features = 1234 + /** + * Additional video context and/or feature-specific parameters. + */ + // const videoContext = '' + /** + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). + */ + // const outputUri = 'abc123' + /** + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + */ + // const locationId = 'abc123' + + // Imports the Videointelligence library + const {VideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1beta2; + + // Instantiates a client + const videointelligenceClient = new VideoIntelligenceServiceClient(); + + async function annotateVideo() { + // Construct request + const request = { + features, + }; + + // Run request + const [operation] = await videointelligenceClient.annotateVideo(request); + const [response] = await operation.promise(); + console.log(response); + } + + annotateVideo(); + // [END videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js new file mode 100644 index 00000000000..3e38adc9897 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js @@ -0,0 +1,94 @@ +// 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(features) { + // [START videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * may include wildcards in `object-id`, and thus identify multiple videos. + * Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + */ + // const inputUri = 'abc123' + /** + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + */ + // const inputContent = 'Buffer.from('string')' + /** + * Required. Requested video annotation features. + */ + // const features = 1234 + /** + * Additional video context and/or feature-specific parameters. + */ + // const videoContext = '' + /** + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). + */ + // const outputUri = 'abc123' + /** + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + */ + // const locationId = 'abc123' + + // Imports the Videointelligence library + const {VideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1p1beta1; + + // Instantiates a client + const videointelligenceClient = new VideoIntelligenceServiceClient(); + + async function annotateVideo() { + // Construct request + const request = { + features, + }; + + // Run request + const [operation] = await videointelligenceClient.annotateVideo(request); + const [response] = await operation.promise(); + console.log(response); + } + + annotateVideo(); + // [END videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js new file mode 100644 index 00000000000..25acb745d53 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js @@ -0,0 +1,92 @@ +// 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(features) { + // [START videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Input video location. Currently, only + * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * A video URI may include wildcards in `object-id`, and thus identify + * multiple videos. Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` should be unset. + */ + // const inputUri = 'abc123' + /** + * The video data bytes. + * If unset, the input video(s) should be specified via `input_uri`. + * If set, `input_uri` should be unset. + */ + // const inputContent = 'Buffer.from('string')' + /** + * Required. Requested video annotation features. + */ + // const features = 1234 + /** + * Additional video context and/or feature-specific parameters. + */ + // const videoContext = '' + /** + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported, which must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see + * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + */ + // const outputUri = 'abc123' + /** + * Optional. Cloud region where annotation should take place. Supported cloud + * regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region + * is specified, a region will be determined based on video file location. + */ + // const locationId = 'abc123' + + // Imports the Videointelligence library + const {VideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1p2beta1; + + // Instantiates a client + const videointelligenceClient = new VideoIntelligenceServiceClient(); + + async function annotateVideo() { + // Construct request + const request = { + features, + }; + + // Run request + const [operation] = await videointelligenceClient.annotateVideo(request); + const [response] = await operation.promise(); + console.log(response); + } + + annotateVideo(); + // [END videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js new file mode 100644 index 00000000000..b8c61184c0a --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js @@ -0,0 +1,73 @@ +// 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 videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Provides information to the annotator, specifing how to process the + * request. The first `AnnotateStreamingVideoRequest` message must only + * contain a `video_config` message. + */ + // const videoConfig = '' + /** + * The video data to be annotated. Chunks of video data are sequentially + * sent in `StreamingAnnotateVideoRequest` messages. Except the initial + * `StreamingAnnotateVideoRequest` message containing only + * `video_config`, all subsequent `AnnotateStreamingVideoRequest` + * messages must only contain `input_content` field. + * Note: as with all bytes fields, protobuffers use a pure binary + * representation (not base64). + */ + // const inputContent = 'Buffer.from('string')' + + // Imports the Videointelligence library + const {StreamingVideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1p3beta1; + + // Instantiates a client + const videointelligenceClient = new StreamingVideoIntelligenceServiceClient(); + + async function streamingAnnotateVideo() { + // Construct request + const request = {}; + + // Run request + const stream = await videointelligenceClient.streamingAnnotateVideo(); + stream.on('data', response => { + console.log(response); + }); + stream.on('error', err => { + throw err; + }); + stream.on('end', () => { + /* API call completed */ + }); + stream.write(request); + stream.end(); + } + + streamingAnnotateVideo(); + // [END videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js new file mode 100644 index 00000000000..76fa82cd8ac --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js @@ -0,0 +1,95 @@ +// 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(features) { + // [START videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Input video location. Currently, only + * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * supported. URIs must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * multiple videos, a video URI may include wildcards in the `object-id`. + * Supported wildcards: '*' to match 0 or more characters; + * '?' to match 1 character. If unset, the input video should be embedded + * in the request as `input_content`. If set, `input_content` must be unset. + */ + // const inputUri = 'abc123' + /** + * The video data bytes. + * If unset, the input video(s) should be specified via the `input_uri`. + * If set, `input_uri` must be unset. + */ + // const inputContent = 'Buffer.from('string')' + /** + * Required. Requested video annotation features. + */ + // const features = 1234 + /** + * Additional video context and/or feature-specific parameters. + */ + // const videoContext = '' + /** + * Optional. Location where the output (in JSON format) should be stored. + * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * URIs are supported. These must be specified in the following format: + * `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For + * more information, see [Request + * URIs](https://cloud.google.com/storage/docs/request-endpoints). + */ + // const outputUri = 'abc123' + /** + * Optional. Cloud region where annotation should take place. Supported cloud + * regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no + * region is specified, the region will be determined based on video file + * location. + */ + // const locationId = 'abc123' + + // Imports the Videointelligence library + const {VideoIntelligenceServiceClient} = + require('@google-cloud/video-intelligence').v1p3beta1; + + // Instantiates a client + const videointelligenceClient = new VideoIntelligenceServiceClient(); + + async function annotateVideo() { + // Construct request + const request = { + features, + }; + + // Run request + const [operation] = await videointelligenceClient.annotateVideo(request); + const [response] = await operation.promise(); + console.log(response); + } + + annotateVideo(); + // [END videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); From a8f8170572b57d746673c0918bff1a2106740e40 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:09 +0000 Subject: [PATCH 378/418] build(node): update deps used during postprocessing (#1243) (#625) --- .../protos/protos.d.ts | 3 ++- .../protos/protos.js | 7 +++++++ .../protos/protos.json | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index b283b8b930f..41dc9132b33 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -17759,7 +17759,8 @@ export namespace google { OUTPUT_ONLY = 3, INPUT_ONLY = 4, IMMUTABLE = 5, - UNORDERED_LIST = 6 + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7 } } diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 86a7e73d6e7..f9816534627 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -44762,6 +44762,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); @@ -44772,6 +44773,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; })(); @@ -50220,6 +50222,7 @@ case 4: case 5: case 6: + case 7: break; } } @@ -50319,6 +50322,10 @@ case 6: message[".google.api.fieldBehavior"][i] = 6; break; + case "NON_EMPTY_DEFAULT": + case 7: + message[".google.api.fieldBehavior"][i] = 7; + break; } } return message; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index e8af7c9720f..e2b7a29bb14 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -3569,7 +3569,8 @@ "OUTPUT_ONLY": 3, "INPUT_ONLY": 4, "IMMUTABLE": 5, - "UNORDERED_LIST": 6 + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7 } } } @@ -4135,6 +4136,18 @@ ] ], "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], [ 8, 8 From 24293f8a50c562397cc82135a7c149a338b539ac Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 26 Oct 2021 23:18:48 +0200 Subject: [PATCH 379/418] chore(deps): update dependency @types/node to v16 (#626) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 39b7c03ca31..d7c8cd36e24 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@types/mocha": "^8.0.0", - "@types/node": "^14.0.0", + "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", From 708233d0c25070cf42d93da069efa2969c0786fb Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Thu, 4 Nov 2021 15:32:17 -0400 Subject: [PATCH 380/418] chore(cloud-rad): delete api-extractor config (#629) --- .../api-extractor.json | 369 ------------------ 1 file changed, 369 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/api-extractor.json diff --git a/packages/google-cloud-videointelligence/api-extractor.json b/packages/google-cloud-videointelligence/api-extractor.json deleted file mode 100644 index de228294b23..00000000000 --- a/packages/google-cloud-videointelligence/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 a5622fcaf2ce409798ab802ce2ba64ca20ded93c 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:34:20 +0000 Subject: [PATCH 381/418] docs(samples): add example tags to generated samples (#630) - [ ] 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 --- .../linkinator.config.json | 2 +- ...deo_intelligence_service.annotate_video.js | 22 ++--- ...deo_intelligence_service.annotate_video.js | 22 ++--- ...deo_intelligence_service.annotate_video.js | 22 ++--- ...deo_intelligence_service.annotate_video.js | 18 ++-- ...igence_service.streaming_annotate_video.js | 6 +- ...deo_intelligence_service.annotate_video.js | 22 ++--- .../v1/video_intelligence_service_client.ts | 86 +++++++++---------- .../video_intelligence_service_client.ts | 86 +++++++++---------- .../video_intelligence_service_client.ts | 86 +++++++++---------- .../video_intelligence_service_client.ts | 86 +++++++++---------- ...aming_video_intelligence_service_client.ts | 8 +- .../video_intelligence_service_client.ts | 86 +++++++++---------- .../gapic_video_intelligence_service_v1.ts | 8 +- ...apic_video_intelligence_service_v1beta2.ts | 8 +- ...ic_video_intelligence_service_v1p1beta1.ts | 8 +- ...ic_video_intelligence_service_v1p2beta1.ts | 8 +- ...ic_video_intelligence_service_v1p3beta1.ts | 8 +- 18 files changed, 289 insertions(+), 303 deletions(-) diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 29a223b6db6..0121dfa684f 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/linkinator.config.json @@ -6,5 +6,5 @@ "img.shields.io" ], "silent": true, - "concurrency": 10 + "concurrency": 5 } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js index 7ee3de84242..d3844fbb883 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js @@ -21,12 +21,12 @@ function main(features) { */ /** * Input video location. Currently, only - * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * Cloud Storage (https://cloud.google.com/storage/) URIs are * supported. URIs must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). To identify * multiple videos, a video URI may include wildcards in the `object-id`. * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded @@ -46,15 +46,15 @@ function main(features) { /** * Additional video context and/or feature-specific parameters. */ - // const videoContext = '' + // const videoContext = {} /** * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * Currently, only Cloud Storage (https://cloud.google.com/storage/) * URIs are supported. These must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). */ // const outputUri = 'abc123' /** @@ -72,7 +72,7 @@ function main(features) { // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); - async function annotateVideo() { + async function callAnnotateVideo() { // Construct request const request = { features, @@ -84,7 +84,7 @@ function main(features) { console.log(response); } - annotateVideo(); + callAnnotateVideo(); // [END videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js index b24ac2f4520..114c84959bf 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js @@ -21,12 +21,12 @@ function main(features) { */ /** * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * Google Cloud Storage (https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). A video URI * may include wildcards in `object-id`, and thus identify multiple videos. * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded @@ -46,15 +46,15 @@ function main(features) { /** * Additional video context and/or feature-specific parameters. */ - // const videoContext = '' + // const videoContext = {} /** * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * Currently, only Google Cloud Storage (https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). */ // const outputUri = 'abc123' /** @@ -71,7 +71,7 @@ function main(features) { // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); - async function annotateVideo() { + async function callAnnotateVideo() { // Construct request const request = { features, @@ -83,7 +83,7 @@ function main(features) { console.log(response); } - annotateVideo(); + callAnnotateVideo(); // [END videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js index 3e38adc9897..bbcadc71da1 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js @@ -21,12 +21,12 @@ function main(features) { */ /** * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * Google Cloud Storage (https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). A video URI * may include wildcards in `object-id`, and thus identify multiple videos. * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded @@ -46,15 +46,15 @@ function main(features) { /** * Additional video context and/or feature-specific parameters. */ - // const videoContext = '' + // const videoContext = {} /** * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * Currently, only Google Cloud Storage (https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). */ // const outputUri = 'abc123' /** @@ -71,7 +71,7 @@ function main(features) { // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); - async function annotateVideo() { + async function callAnnotateVideo() { // Construct request const request = { features, @@ -83,7 +83,7 @@ function main(features) { console.log(response); } - annotateVideo(); + callAnnotateVideo(); // [END videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js index 25acb745d53..85dce7e1035 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js @@ -21,11 +21,11 @@ function main(features) { */ /** * Input video location. Currently, only - * [Google Cloud Storage](https://cloud.google.com/storage/) URIs are + * Google Cloud Storage (https://cloud.google.com/storage/) URIs are * supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For more information, see + * Request URIs (https://cloud.google.com/storage/docs/request-endpoints). * A video URI may include wildcards in `object-id`, and thus identify * multiple videos. Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded @@ -45,14 +45,14 @@ function main(features) { /** * Additional video context and/or feature-specific parameters. */ - // const videoContext = '' + // const videoContext = {} /** * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) + * Currently, only Google Cloud Storage (https://cloud.google.com/storage/) * URIs are supported, which must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see - * [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For more information, see + * Request URIs (https://cloud.google.com/storage/docs/request-endpoints). */ // const outputUri = 'abc123' /** @@ -69,7 +69,7 @@ function main(features) { // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); - async function annotateVideo() { + async function callAnnotateVideo() { // Construct request const request = { features, @@ -81,7 +81,7 @@ function main(features) { console.log(response); } - annotateVideo(); + callAnnotateVideo(); // [END videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js index b8c61184c0a..da5cae4a39e 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js @@ -24,7 +24,7 @@ function main() { * request. The first `AnnotateStreamingVideoRequest` message must only * contain a `video_config` message. */ - // const videoConfig = '' + // const videoConfig = {} /** * The video data to be annotated. Chunks of video data are sequentially * sent in `StreamingAnnotateVideoRequest` messages. Except the initial @@ -43,7 +43,7 @@ function main() { // Instantiates a client const videointelligenceClient = new StreamingVideoIntelligenceServiceClient(); - async function streamingAnnotateVideo() { + async function callStreamingAnnotateVideo() { // Construct request const request = {}; @@ -62,7 +62,7 @@ function main() { stream.end(); } - streamingAnnotateVideo(); + callStreamingAnnotateVideo(); // [END videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js index 76fa82cd8ac..0429cf7db0a 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js @@ -21,12 +21,12 @@ function main(features) { */ /** * Input video location. Currently, only - * [Cloud Storage](https://cloud.google.com/storage/) URIs are + * Cloud Storage (https://cloud.google.com/storage/) URIs are * supported. URIs must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). To identify * multiple videos, a video URI may include wildcards in the `object-id`. * Supported wildcards: '*' to match 0 or more characters; * '?' to match 1 character. If unset, the input video should be embedded @@ -46,15 +46,15 @@ function main(features) { /** * Additional video context and/or feature-specific parameters. */ - // const videoContext = '' + // const videoContext = {} /** * Optional. Location where the output (in JSON format) should be stored. - * Currently, only [Cloud Storage](https://cloud.google.com/storage/) + * Currently, only Cloud Storage (https://cloud.google.com/storage/) * URIs are supported. These must be specified in the following format: * `gs://bucket-id/object-id` (other URI formats return - * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For - * more information, see [Request - * URIs](https://cloud.google.com/storage/docs/request-endpoints). + * google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For + * more information, see Request + * URIs (https://cloud.google.com/storage/docs/request-endpoints). */ // const outputUri = 'abc123' /** @@ -72,7 +72,7 @@ function main(features) { // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); - async function annotateVideo() { + async function callAnnotateVideo() { // Construct request const request = { features, @@ -84,7 +84,7 @@ function main(features) { console.log(response); } - annotateVideo(); + callAnnotateVideo(); // [END videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async] } diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 497407009f1..a81069933fe 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -318,42 +318,6 @@ export class VideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - annotateVideo( - request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - annotateVideo( - request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - annotateVideo( - request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -404,10 +368,45 @@ export class VideoIntelligenceServiceClient { * 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.annotateVideo(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async */ + annotateVideo( + request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + annotateVideo( + request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, optionsOrCallback?: @@ -447,6 +446,8 @@ export class VideoIntelligenceServiceClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } @@ -459,11 +460,8 @@ export class VideoIntelligenceServiceClient { * 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 checkAnnotateVideoProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async */ async checkAnnotateVideoProgress( name: string diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index bb0b3f91b14..b10af169fe6 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -318,42 +318,6 @@ export class VideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - annotateVideo( - request?: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - annotateVideo( - request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - annotateVideo( - request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -403,10 +367,45 @@ export class VideoIntelligenceServiceClient { * 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.annotateVideo(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1beta2/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async */ + annotateVideo( + request?: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + annotateVideo( + request: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( request?: protos.google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, optionsOrCallback?: @@ -446,6 +445,8 @@ export class VideoIntelligenceServiceClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } @@ -458,11 +459,8 @@ export class VideoIntelligenceServiceClient { * 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 checkAnnotateVideoProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1beta2/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async */ async checkAnnotateVideoProgress( name: string diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index 27d3ed3f01e..b32ed3af8a8 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -318,42 +318,6 @@ export class VideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - annotateVideo( - request?: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -403,10 +367,45 @@ export class VideoIntelligenceServiceClient { * 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.annotateVideo(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ + annotateVideo( + request?: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( request?: protos.google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, optionsOrCallback?: @@ -446,6 +445,8 @@ export class VideoIntelligenceServiceClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } @@ -458,11 +459,8 @@ export class VideoIntelligenceServiceClient { * 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 checkAnnotateVideoProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ async checkAnnotateVideoProgress( name: string diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 528e1e8d9b9..b543b7ed76c 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -318,42 +318,6 @@ export class VideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - annotateVideo( - request?: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -401,10 +365,45 @@ export class VideoIntelligenceServiceClient { * 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.annotateVideo(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ + annotateVideo( + request?: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( request?: protos.google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, optionsOrCallback?: @@ -444,6 +443,8 @@ export class VideoIntelligenceServiceClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } @@ -456,11 +457,8 @@ export class VideoIntelligenceServiceClient { * 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 checkAnnotateVideoProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ async checkAnnotateVideoProgress( name: string diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index ea41578841a..9bab4714b46 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -308,12 +308,8 @@ export class StreamingVideoIntelligenceServiceClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#bi-directional-streaming) * for more details and examples. - * @example - * const stream = client.streamingAnnotateVideo(); - * stream.on('data', (response) => { ... }); - * stream.on('end', () => { ... }); - * stream.write(request); - * stream.end(); + * @example include:samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js + * region_tag:videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async */ streamingAnnotateVideo(options?: CallOptions): gax.CancellableStream { this.initialize(); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 36a89c3a4cb..0985624eb18 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -318,42 +318,6 @@ export class VideoIntelligenceServiceClient { // -- Service calls -- // ------------------- - annotateVideo( - request?: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - annotateVideo( - request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, - callback: Callback< - LROperation< - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, - protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Performs asynchronous video annotation. Progress and results can be * retrieved through the `google.longrunning.Operations` interface. @@ -404,10 +368,45 @@ export class VideoIntelligenceServiceClient { * 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.annotateVideo(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ + annotateVideo( + request?: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + annotateVideo( + request: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, + callback: Callback< + LROperation< + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, + protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; annotateVideo( request?: protos.google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, optionsOrCallback?: @@ -447,6 +446,8 @@ export class VideoIntelligenceServiceClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.annotateVideo(request, options, callback); } @@ -459,11 +460,8 @@ export class VideoIntelligenceServiceClient { * 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 checkAnnotateVideoProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js + * region_tag:videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async */ async checkAnnotateVideoProgress( name: string diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 9b371ec3a06..01169b796e9 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -175,7 +175,7 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -201,7 +201,7 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -248,7 +248,7 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -272,7 +272,7 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index a824f2c4f52..ee0249d4ac3 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -188,7 +188,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -216,7 +216,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -265,7 +265,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -291,7 +291,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index e4a29144124..c259c56e655 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -188,7 +188,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -216,7 +216,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -265,7 +265,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -291,7 +291,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index a08db765743..5232de958aa 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -188,7 +188,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -216,7 +216,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -265,7 +265,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -291,7 +291,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index a68a166007f..c12fca45f64 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -188,7 +188,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -216,7 +216,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -265,7 +265,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -291,7 +291,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, From ce36b197f0cabce193c2f7d54434c7e73ddff322 Mon Sep 17 00:00:00 2001 From: nicain Date: Tue, 7 Dec 2021 08:38:23 -0800 Subject: [PATCH 382/418] chore: Cleanup timestamp setting blocks in samples (#631) --- packages/google-cloud-videointelligence/README.md | 12 ------------ .../samples/quickstart.js | 12 ------------ 2 files changed, 24 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 9a589287e32..a72e06ba690 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -91,18 +91,6 @@ labels.forEach(label => { console.log(`Label ${label.entity.description} occurs at:`); label.segments.forEach(segment => { segment = segment.segment; - if (segment.startTimeOffset.seconds === undefined) { - segment.startTimeOffset.seconds = 0; - } - if (segment.startTimeOffset.nanos === undefined) { - segment.startTimeOffset.nanos = 0; - } - if (segment.endTimeOffset.seconds === undefined) { - segment.endTimeOffset.seconds = 0; - } - if (segment.endTimeOffset.nanos === undefined) { - segment.endTimeOffset.nanos = 0; - } console.log( `\tStart: ${segment.startTimeOffset.seconds}` + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` diff --git a/packages/google-cloud-videointelligence/samples/quickstart.js b/packages/google-cloud-videointelligence/samples/quickstart.js index 66866db4f46..92ee050f9fc 100644 --- a/packages/google-cloud-videointelligence/samples/quickstart.js +++ b/packages/google-cloud-videointelligence/samples/quickstart.js @@ -48,18 +48,6 @@ async function main() { console.log(`Label ${label.entity.description} occurs at:`); label.segments.forEach(segment => { segment = segment.segment; - if (segment.startTimeOffset.seconds === undefined) { - segment.startTimeOffset.seconds = 0; - } - if (segment.startTimeOffset.nanos === undefined) { - segment.startTimeOffset.nanos = 0; - } - if (segment.endTimeOffset.seconds === undefined) { - segment.endTimeOffset.seconds = 0; - } - if (segment.endTimeOffset.nanos === undefined) { - segment.endTimeOffset.nanos = 0; - } console.log( `\tStart: ${segment.startTimeOffset.seconds}` + `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s` From 82c3cea3f1829e39afd952a64ded09de4a6ff81a 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 22:48:22 +0000 Subject: [PATCH 383/418] build: add generated samples to .eslintignore (#632) --- packages/google-cloud-videointelligence/.eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore index 9340ad9b86d..ea5b04aebe6 100644 --- a/packages/google-cloud-videointelligence/.eslintignore +++ b/packages/google-cloud-videointelligence/.eslintignore @@ -4,3 +4,4 @@ test/fixtures build/ docs/ protos/ +samples/generated/ From a969840ff81ca30daa594951b56cef7dd08a0cee 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 22:40:20 +0000 Subject: [PATCH 384/418] docs(node): support "stable"/"preview" release level (#1312) (#656) Source-Link: https://github.com/googleapis/synthtool/commit/8d2c953d08984586180da7e285eeca19cc48729f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:5ed10ba99cd1ea8c3a0f29b4c53e8a2723a101952705baed6b61783111c64c1c Co-authored-by: Owl Bot --- packages/google-cloud-videointelligence/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index a72e06ba690..e28abd45c12 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -170,6 +170,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 4c5c55b9aeea153bb08722cae32df6e23e7faf8a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 31 Dec 2021 00:04:49 +0100 Subject: [PATCH 385/418] chore(deps): update dependency sinon to v12 (#628) Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> Co-authored-by: Benjamin E. Coe --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index d7c8cd36e24..4ce6c0408d2 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -61,7 +61,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", - "sinon": "^11.0.0", + "sinon": "^12.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3" } From fdf9c9f2d5663c42dff102e997d5f3b67b504952 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 12 Jan 2022 12:52:24 -0500 Subject: [PATCH 386/418] test(nodejs): remove 15 add 16 (#1322) (#660) Source-Link: https://github.com/googleapis/synthtool/commit/6981da4f29c0ae3dd783d58f1be5ab222d6a5642 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:3563b6b264989c4f5aa31a3682e4df36c95756cfef275d3201508947cbfc511e Co-authored-by: Owl Bot --- packages/google-cloud-videointelligence/README.md | 1 - packages/google-cloud-videointelligence/protos/protos.d.ts | 2 +- packages/google-cloud-videointelligence/protos/protos.js | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index e28abd45c12..8b2ae54414f 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-video-intelligence/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-video-intelligence) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 41dc9132b33..0f6b328f84f 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index f9816534627..847d9d1f9df 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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 3a8f8b6cee08765e454b7610a40c476da40826cc Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 12 Jan 2022 13:15:54 -0500 Subject: [PATCH 387/418] chore: add api_shortname and library_type to repo metadata (#655) --- .../google-cloud-videointelligence/.repo-metadata.json | 4 +++- packages/google-cloud-videointelligence/README.md | 9 ++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index 8a6368949ec..b11be042b7b 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -11,5 +11,7 @@ "codeowner_team": "@googleapis/ml-apis", "name_pretty": "Google Cloud Video Intelligence", "client_documentation": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest", - "release_level": "ga" + "release_level": "stable", + "api_shortname": "videointelligence", + "library_type": "GAPIC_AUTO" } diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 8b2ae54414f..4904a1499a8 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -4,7 +4,7 @@ # [Google Cloud Video Intelligence: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) -[![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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) @@ -159,10 +159,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. @@ -170,7 +170,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 ee0e76585f6d58a24944e918f8f1b198ea55f13a 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:56:35 +0000 Subject: [PATCH 388/418] chore: update v2.12.0 gapic-generator-typescript (#664) - [ ] 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 --- .../google-cloud-videointelligence/.jsdoc.js | 4 ++-- .../linkinator.config.json | 10 +++++++-- ...deo_intelligence_service.annotate_video.js | 4 ++-- ...deo_intelligence_service.annotate_video.js | 4 ++-- ...deo_intelligence_service.annotate_video.js | 4 ++-- ...deo_intelligence_service.annotate_video.js | 4 ++-- ...igence_service.streaming_annotate_video.js | 21 +++++++------------ ...deo_intelligence_service.annotate_video.js | 4 ++-- .../src/v1/index.ts | 2 +- .../v1/video_intelligence_service_client.ts | 2 +- .../src/v1beta2/index.ts | 2 +- .../video_intelligence_service_client.ts | 2 +- .../src/v1p1beta1/index.ts | 2 +- .../video_intelligence_service_client.ts | 2 +- .../src/v1p2beta1/index.ts | 2 +- .../video_intelligence_service_client.ts | 2 +- .../src/v1p3beta1/index.ts | 2 +- ...aming_video_intelligence_service_client.ts | 4 ++-- .../video_intelligence_service_client.ts | 2 +- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- .../system-test/install.ts | 2 +- ...ng_video_intelligence_service_v1p3beta1.ts | 6 +++--- .../gapic_video_intelligence_service_v1.ts | 2 +- ...apic_video_intelligence_service_v1beta2.ts | 2 +- ...ic_video_intelligence_service_v1p1beta1.ts | 2 +- ...ic_video_intelligence_service_v1p2beta1.ts | 2 +- ...ic_video_intelligence_service_v1p3beta1.ts | 2 +- 28 files changed, 51 insertions(+), 50 deletions(-) diff --git a/packages/google-cloud-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js index bf5865b5784..6c816e680e9 100644 --- a/packages/google-cloud-videointelligence/.jsdoc.js +++ b/packages/google-cloud-videointelligence/.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/video-intelligence', diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json index 0121dfa684f..befd23c8633 100644 --- a/packages/google-cloud-videointelligence/linkinator.config.json +++ b/packages/google-cloud-videointelligence/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-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js index d3844fbb883..cf16d406597 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(features) { @@ -66,8 +67,7 @@ function main(features) { // const locationId = 'abc123' // Imports the Videointelligence library - const {VideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1; + const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1; // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js index 114c84959bf..a416e5f065a 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(features) { @@ -65,8 +66,7 @@ function main(features) { // const locationId = 'abc123' // Imports the Videointelligence library - const {VideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1beta2; + const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1beta2; // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js index bbcadc71da1..3dc02923362 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(features) { @@ -65,8 +66,7 @@ function main(features) { // const locationId = 'abc123' // Imports the Videointelligence library - const {VideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1p1beta1; + const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1p1beta1; // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js index 85dce7e1035..ed10c74ca52 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(features) { @@ -63,8 +64,7 @@ function main(features) { // const locationId = 'abc123' // Imports the Videointelligence library - const {VideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1p2beta1; + const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1p2beta1; // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js index da5cae4a39e..df25f125a83 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -37,29 +38,23 @@ function main() { // const inputContent = 'Buffer.from('string')' // Imports the Videointelligence library - const {StreamingVideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1p3beta1; + const {StreamingVideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1p3beta1; // Instantiates a client const videointelligenceClient = new StreamingVideoIntelligenceServiceClient(); async function callStreamingAnnotateVideo() { // Construct request - const request = {}; + const request = { + }; // Run request const stream = await videointelligenceClient.streamingAnnotateVideo(); - stream.on('data', response => { - console.log(response); - }); - stream.on('error', err => { - throw err; - }); - stream.on('end', () => { - /* API call completed */ - }); + stream.on('data', (response) => { console.log(response) }); + stream.on('error', (err) => { throw(err) }); + stream.on('end', () => { /* API call completed */ }); stream.write(request); - stream.end(); + stream.end(); } callStreamingAnnotateVideo(); diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js index 0429cf7db0a..6b27a3cfc62 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(features) { @@ -66,8 +67,7 @@ function main(features) { // const locationId = 'abc123' // Imports the Videointelligence library - const {VideoIntelligenceServiceClient} = - require('@google-cloud/video-intelligence').v1p3beta1; + const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1p3beta1; // Instantiates a client const videointelligenceClient = new VideoIntelligenceServiceClient(); diff --git a/packages/google-cloud-videointelligence/src/v1/index.ts b/packages/google-cloud-videointelligence/src/v1/index.ts index b2e3b9d95ba..6fcd19333aa 100644 --- a/packages/google-cloud-videointelligence/src/v1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index a81069933fe..0b1b1d3ae15 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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-videointelligence/src/v1beta2/index.ts b/packages/google-cloud-videointelligence/src/v1beta2/index.ts index b2e3b9d95ba..6fcd19333aa 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/index.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/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-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index b10af169fe6..09c69ecf00b 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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-videointelligence/src/v1p1beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts index b2e3b9d95ba..6fcd19333aa 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index b32ed3af8a8..f2a0f0f3c1c 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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-videointelligence/src/v1p2beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts index b2e3b9d95ba..6fcd19333aa 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index b543b7ed76c..5feef0337a2 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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-videointelligence/src/v1p3beta1/index.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts index 6670c4eec79..a8ec5240351 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 9bab4714b46..5b7fdb20170 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_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. @@ -313,7 +313,7 @@ export class StreamingVideoIntelligenceServiceClient { */ streamingAnnotateVideo(options?: CallOptions): gax.CancellableStream { this.initialize(); - return this.innerApiCalls.streamingAnnotateVideo(options); + return this.innerApiCalls.streamingAnnotateVideo(null, options); } /** diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 0985624eb18..5bcfd0f31f7 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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-videointelligence/system-test/fixtures/sample/src/index.js b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js index b3f8e9f1102..f4d83dcf5e1 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts index 85c40eb82e2..bf954ad231a 100644 --- a/packages/google-cloud-videointelligence/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/system-test/install.ts b/packages/google-cloud-videointelligence/system-test/install.ts index d2d61c0396f..6dd1eaadafa 100644 --- a/packages/google-cloud-videointelligence/system-test/install.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index e4ca8309e94..90fd1d34ed5 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_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. @@ -192,7 +192,7 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { assert( (client.innerApiCalls.streamingAnnotateVideo as SinonStub) .getCall(0) - .calledWithExactly(undefined) + .calledWith(null) ); assert.deepStrictEqual( ((stream as unknown as PassThrough)._transform as SinonStub).getCall(0) @@ -238,7 +238,7 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { assert( (client.innerApiCalls.streamingAnnotateVideo as SinonStub) .getCall(0) - .calledWithExactly(undefined) + .calledWith(null) ); assert.deepStrictEqual( ((stream as unknown as PassThrough)._transform as SinonStub).getCall(0) diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 01169b796e9..4d2ffc646f6 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index ee0249d4ac3..c2552aac618 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.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-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index c259c56e655..7abf2d3ac20 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index 5232de958aa..5e384d222c3 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index c12fca45f64..74d20f4d380 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_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. From ee4ce02e111844b1e4bb491dc6057a3f0a92119a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 31 Jan 2022 23:28:46 +0100 Subject: [PATCH 389/418] chore(deps): update dependency sinon to v13 (#666) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 4ce6c0408d2..f08ec9ee769 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -61,7 +61,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", - "sinon": "^12.0.0", + "sinon": "^13.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3" } From b53557aad504eae4591313cec742d41f7ec8b103 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:09:11 +0000 Subject: [PATCH 390/418] docs(nodejs): version support policy edits (#1346) (#668) --- .../google-cloud-videointelligence/README.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 4904a1499a8..4ec4921717b 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -138,21 +138,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/video-intelligence@legacy-8` installs client libraries +for versions compatible with Node.js 8. ## Versioning From 9fba13cc6a17ca2a776da8584b30e8e684ccc695 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 02:04:46 +0000 Subject: [PATCH 391/418] docs(samples): include metadata file, add exclusions for samples to handwritten libraries (#669) - [ ] 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 --- ...ata.google.cloud.videointelligence.v1.json | 75 +++++++++++ ...deo_intelligence_service.annotate_video.js | 9 +- ...oogle.cloud.videointelligence.v1beta2.json | 75 +++++++++++ ...deo_intelligence_service.annotate_video.js | 9 +- ...gle.cloud.videointelligence.v1p1beta1.json | 75 +++++++++++ ...deo_intelligence_service.annotate_video.js | 9 +- ...gle.cloud.videointelligence.v1p2beta1.json | 75 +++++++++++ ...deo_intelligence_service.annotate_video.js | 9 +- ...gle.cloud.videointelligence.v1p3beta1.json | 119 ++++++++++++++++++ ...igence_service.streaming_annotate_video.js | 9 +- ...deo_intelligence_service.annotate_video.js | 9 +- .../v1/video_intelligence_service_client.ts | 5 +- .../video_intelligence_service_client.ts | 5 +- .../video_intelligence_service_client.ts | 5 +- .../video_intelligence_service_client.ts | 5 +- ...aming_video_intelligence_service_client.ts | 26 +++- .../video_intelligence_service_client.ts | 5 +- ...ng_video_intelligence_service_v1p3beta1.ts | 22 +++- .../gapic_video_intelligence_service_v1.ts | 20 ++- ...apic_video_intelligence_service_v1beta2.ts | 22 +++- ...ic_video_intelligence_service_v1p1beta1.ts | 22 +++- ...ic_video_intelligence_service_v1p2beta1.ts | 22 +++- ...ic_video_intelligence_service_v1p3beta1.ts | 22 +++- 23 files changed, 610 insertions(+), 44 deletions(-) create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json create mode 100644 packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json new file mode 100644 index 00000000000..ae482cdf746 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -0,0 +1,75 @@ +{ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 92, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService" + } + } + } + } + ] +} diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js index cf16d406597..caac0742668 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json new file mode 100644 index 00000000000..f1f4b140e38 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -0,0 +1,75 @@ +{ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1beta2", + "version": "v1beta2" + } + ] + }, + "snippets": [ + { + "regionTag": "videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 91, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1beta2.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService" + } + } + } + } + ] +} diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js index a416e5f065a..6c39d8b5c37 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json new file mode 100644 index 00000000000..62b702ba003 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -0,0 +1,75 @@ +{ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p1beta1", + "version": "v1p1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 91, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p1beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService" + } + } + } + } + ] +} diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js index 3dc02923362..ccf9f33c208 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json new file mode 100644 index 00000000000..253c9b0bbf7 --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -0,0 +1,75 @@ +{ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p2beta1", + "version": "v1p2beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 89, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p2beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService" + } + } + } + } + ] +} diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js index ed10c74ca52..f4e003e85ed 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json new file mode 100644 index 00000000000..3bde5e7a6af --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -0,0 +1,119 @@ +{ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p3beta1", + "version": "v1p3beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async", + "title": "videointelligence streamingAnnotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs video annotation with bidirectional streaming: emitting results while sending video/audio bytes. This method is only available via the gRPC API (not REST).", + "canonical": true, + "file": "streaming_video_intelligence_service.streaming_annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StreamingAnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", + "async": true, + "parameters": [ + { + "name": "video_config", + "type": ".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + } + ], + "resultType": ".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse", + "client": { + "shortName": "StreamingVideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceServiceClient" + }, + "method": { + "shortName": "StreamingAnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", + "service": { + "shortName": "StreamingVideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService" + } + } + } + }, + { + "regionTag": "videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 92, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p3beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService" + } + } + } + } + ] +} diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js index df25f125a83..2236cb17990 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js index 6b27a3cfc62..4f56a02af2f 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 0b1b1d3ae15..05f2d23441c 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -493,9 +493,8 @@ export class VideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.videoIntelligenceServiceStub!.then(stub => { + if (this.videoIntelligenceServiceStub && !this._terminated) { + return this.videoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 09c69ecf00b..ef962887f31 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -492,9 +492,8 @@ export class VideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.videoIntelligenceServiceStub!.then(stub => { + if (this.videoIntelligenceServiceStub && !this._terminated) { + return this.videoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index f2a0f0f3c1c..ee682fff210 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -492,9 +492,8 @@ export class VideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.videoIntelligenceServiceStub!.then(stub => { + if (this.videoIntelligenceServiceStub && !this._terminated) { + return this.videoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 5feef0337a2..2ef98b4fb64 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -490,9 +490,8 @@ export class VideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.videoIntelligenceServiceStub!.then(stub => { + if (this.videoIntelligenceServiceStub && !this._terminated) { + return this.videoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 5b7fdb20170..96f9b71fff7 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -18,8 +18,15 @@ /* global window */ import * as gax from 'google-gax'; -import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; - +import { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GoogleError, +} from 'google-gax'; + +import {PassThrough} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -217,6 +224,16 @@ export class StreamingVideoIntelligenceServiceClient { stub => (...args: Array<{}>) => { if (this._terminated) { + if (methodName in this.descriptors.stream) { + const stream = new PassThrough(); + setImmediate(() => { + stream.emit( + 'error', + new GoogleError('The client has already been closed.') + ); + }); + return stream; + } return Promise.reject('The client has already been closed.'); } const func = stub[methodName]; @@ -323,9 +340,8 @@ export class StreamingVideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.streamingVideoIntelligenceServiceStub!.then(stub => { + if (this.streamingVideoIntelligenceServiceStub && !this._terminated) { + return this.streamingVideoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 5bcfd0f31f7..7475f0feabd 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -493,9 +493,8 @@ export class VideoIntelligenceServiceClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.videoIntelligenceServiceStub!.then(stub => { + if (this.videoIntelligenceServiceStub && !this._terminated) { + return this.videoIntelligenceServiceStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index 90fd1d34ed5..b23bc9b0e91 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts @@ -102,7 +102,7 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { assert(client.streamingVideoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( { @@ -110,7 +110,25 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { projectId: 'bogus', } ); - client.close(); + client.initialize(); + assert(client.streamingVideoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 4d2ffc646f6..6064d743634 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -119,13 +119,29 @@ describe('v1.VideoIntelligenceServiceClient', () => { assert(client.videoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index c2552aac618..baa17d45b35 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -124,7 +124,7 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { assert(client.videoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( { @@ -132,7 +132,25 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { projectId: 'bogus', } ); - client.close(); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index 7abf2d3ac20..81159b34f8f 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -124,7 +124,7 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { assert(client.videoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( { @@ -132,7 +132,25 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { projectId: 'bogus', } ); - client.close(); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index 5e384d222c3..bb6b63b1b21 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -124,7 +124,7 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { assert(client.videoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( { @@ -132,7 +132,25 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { projectId: 'bogus', } ); - client.close(); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index 74d20f4d380..879c799a1aa 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -124,7 +124,7 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { assert(client.videoIntelligenceServiceStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( { @@ -132,7 +132,25 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { projectId: 'bogus', } ); - client.close(); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { From cdf338bab8686b3c2a99c6ff04dad2dbcc3ad10b 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:34:29 +0000 Subject: [PATCH 392/418] build(node): update client library version in samples metadata (#1356) (#703) * 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 --- ...ata.google.cloud.videointelligence.v1.json | 144 +++++------ ...oogle.cloud.videointelligence.v1beta2.json | 144 +++++------ ...gle.cloud.videointelligence.v1p1beta1.json | 144 +++++------ ...gle.cloud.videointelligence.v1p2beta1.json | 144 +++++------ ...gle.cloud.videointelligence.v1p3beta1.json | 228 +++++++++--------- 5 files changed, 402 insertions(+), 402 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json index ae482cdf746..d261a7d40ea 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -1,75 +1,75 @@ { - "clientLibrary": { - "name": "nodejs-videointelligence", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.videointelligence.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async", - "title": "videointelligence annotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", - "canonical": true, - "file": "video_intelligence_service.annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "3.4.1", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1", + "version": "v1" + } + ] + }, + "snippets": [ { - "start": 25, - "end": 92, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", - "async": true, - "parameters": [ - { - "name": "input_uri", - "type": "TYPE_STRING" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - }, - { - "name": "features", - "type": "TYPE_ENUM[]" - }, - { - "name": "video_context", - "type": ".google.cloud.videointelligence.v1.VideoContext" - }, - { - "name": "output_uri", - "type": "TYPE_STRING" - }, - { - "name": "location_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "VideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceServiceClient" - }, - "method": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", - "service": { - "shortName": "VideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService" - } + "regionTag": "videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 92, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1.VideoIntelligenceService" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index f1f4b140e38..9134a6fc670 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -1,75 +1,75 @@ { - "clientLibrary": { - "name": "nodejs-videointelligence", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.videointelligence.v1beta2", - "version": "v1beta2" - } - ] - }, - "snippets": [ - { - "regionTag": "videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async", - "title": "videointelligence annotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", - "canonical": true, - "file": "video_intelligence_service.annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "3.4.1", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1beta2", + "version": "v1beta2" + } + ] + }, + "snippets": [ { - "start": 25, - "end": 91, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", - "async": true, - "parameters": [ - { - "name": "input_uri", - "type": "TYPE_STRING" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - }, - { - "name": "features", - "type": "TYPE_ENUM[]" - }, - { - "name": "video_context", - "type": ".google.cloud.videointelligence.v1beta2.VideoContext" - }, - { - "name": "output_uri", - "type": "TYPE_STRING" - }, - { - "name": "location_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "VideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceServiceClient" - }, - "method": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", - "service": { - "shortName": "VideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService" - } + "regionTag": "videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 91, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1beta2.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1beta2.VideoIntelligenceService" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json index 62b702ba003..24027bd4987 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -1,75 +1,75 @@ { - "clientLibrary": { - "name": "nodejs-videointelligence", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.videointelligence.v1p1beta1", - "version": "v1p1beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async", - "title": "videointelligence annotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", - "canonical": true, - "file": "video_intelligence_service.annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "3.4.1", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p1beta1", + "version": "v1p1beta1" + } + ] + }, + "snippets": [ { - "start": 25, - "end": 91, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", - "async": true, - "parameters": [ - { - "name": "input_uri", - "type": "TYPE_STRING" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - }, - { - "name": "features", - "type": "TYPE_ENUM[]" - }, - { - "name": "video_context", - "type": ".google.cloud.videointelligence.v1p1beta1.VideoContext" - }, - { - "name": "output_uri", - "type": "TYPE_STRING" - }, - { - "name": "location_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "VideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceServiceClient" - }, - "method": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", - "service": { - "shortName": "VideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService" - } + "regionTag": "videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 91, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p1beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json index 253c9b0bbf7..89eee8a14ab 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -1,75 +1,75 @@ { - "clientLibrary": { - "name": "nodejs-videointelligence", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.videointelligence.v1p2beta1", - "version": "v1p2beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async", - "title": "videointelligence annotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", - "canonical": true, - "file": "video_intelligence_service.annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "3.4.1", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p2beta1", + "version": "v1p2beta1" + } + ] + }, + "snippets": [ { - "start": 25, - "end": 89, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", - "async": true, - "parameters": [ - { - "name": "input_uri", - "type": "TYPE_STRING" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - }, - { - "name": "features", - "type": "TYPE_ENUM[]" - }, - { - "name": "video_context", - "type": ".google.cloud.videointelligence.v1p2beta1.VideoContext" - }, - { - "name": "output_uri", - "type": "TYPE_STRING" - }, - { - "name": "location_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "VideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceServiceClient" - }, - "method": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", - "service": { - "shortName": "VideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService" - } + "regionTag": "videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 89, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p2beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index 3bde5e7a6af..582f8136181 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -1,119 +1,119 @@ { - "clientLibrary": { - "name": "nodejs-videointelligence", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.videointelligence.v1p3beta1", - "version": "v1p3beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async", - "title": "videointelligence streamingAnnotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs video annotation with bidirectional streaming: emitting results while sending video/audio bytes. This method is only available via the gRPC API (not REST).", - "canonical": true, - "file": "streaming_video_intelligence_service.streaming_annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 65, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "StreamingAnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", - "async": true, - "parameters": [ - { - "name": "video_config", - "type": ".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - } - ], - "resultType": ".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse", - "client": { - "shortName": "StreamingVideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceServiceClient" - }, - "method": { - "shortName": "StreamingAnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", - "service": { - "shortName": "StreamingVideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService" - } - } - } + "clientLibrary": { + "name": "nodejs-videointelligence", + "version": "3.4.1", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.videointelligence.v1p3beta1", + "version": "v1p3beta1" + } + ] }, - { - "regionTag": "videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async", - "title": "videointelligence annotateVideo Sample", - "origin": "API_DEFINITION", - "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", - "canonical": true, - "file": "video_intelligence_service.annotate_video.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 92, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", - "async": true, - "parameters": [ - { - "name": "input_uri", - "type": "TYPE_STRING" - }, - { - "name": "input_content", - "type": "TYPE_BYTES" - }, - { - "name": "features", - "type": "TYPE_ENUM[]" - }, - { - "name": "video_context", - "type": ".google.cloud.videointelligence.v1p3beta1.VideoContext" - }, - { - "name": "output_uri", - "type": "TYPE_STRING" - }, - { - "name": "location_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "VideoIntelligenceServiceClient", - "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceServiceClient" + "regionTag": "videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_async", + "title": "videointelligence streamingAnnotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs video annotation with bidirectional streaming: emitting results while sending video/audio bytes. This method is only available via the gRPC API (not REST).", + "canonical": true, + "file": "streaming_video_intelligence_service.streaming_annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StreamingAnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", + "async": true, + "parameters": [ + { + "name": "video_config", + "type": ".google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + } + ], + "resultType": ".google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse", + "client": { + "shortName": "StreamingVideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceServiceClient" + }, + "method": { + "shortName": "StreamingAnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideo", + "service": { + "shortName": "StreamingVideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService" + } + } + } }, - "method": { - "shortName": "AnnotateVideo", - "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", - "service": { - "shortName": "VideoIntelligenceService", - "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService" - } + { + "regionTag": "videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_async", + "title": "videointelligence annotateVideo Sample", + "origin": "API_DEFINITION", + "description": " Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", + "canonical": true, + "file": "video_intelligence_service.annotate_video.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 92, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", + "async": true, + "parameters": [ + { + "name": "input_uri", + "type": "TYPE_STRING" + }, + { + "name": "input_content", + "type": "TYPE_BYTES" + }, + { + "name": "features", + "type": "TYPE_ENUM[]" + }, + { + "name": "video_context", + "type": ".google.cloud.videointelligence.v1p3beta1.VideoContext" + }, + { + "name": "output_uri", + "type": "TYPE_STRING" + }, + { + "name": "location_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "VideoIntelligenceServiceClient", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceServiceClient" + }, + "method": { + "shortName": "AnnotateVideo", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideo", + "service": { + "shortName": "VideoIntelligenceService", + "fullName": "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file From 1b2142db8654dff32431d2fe3afce4eb9ccb9bc0 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 28 Apr 2022 11:01:44 -0700 Subject: [PATCH 393/418] feat!: field ObjectTrackingAnnotation.segment moved into oneof, added track_id (#704) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat!: field ObjectTrackingAnnotation.segment moved into oneof, added track_id PiperOrigin-RevId: 445061085 Source-Link: https://github.com/googleapis/googleapis/commit/0506e19aba65157d6e725c4f075e36bae2dba91f Source-Link: https://github.com/googleapis/googleapis-gen/commit/5796d5155df9a378c0fd8d97c06f7d7170765670 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTc5NmQ1MTU1ZGY5YTM3OGMwZmQ4ZDk3YzA2ZjdkNzE3MDc2NTY3MCJ9 * 🦉 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 --- .../v1p2beta1/video_intelligence.proto | 19 +++- .../protos/protos.d.ts | 19 +++- .../protos/protos.js | 96 +++++++++++++++---- .../protos/protos.json | 20 +++- 4 files changed, 123 insertions(+), 31 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto index 3b1d51cd775..c185c0aa99b 100644 --- a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto +++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto @@ -405,6 +405,22 @@ message ObjectTrackingFrame { // Annotations corresponding to one tracked object. message ObjectTrackingAnnotation { + // Different representation of tracking info in non-streaming batch + // and streaming modes. + oneof track_info { + // Non-streaming batch mode ONLY. + // Each object track corresponds to one video segment where it appears. + VideoSegment segment = 3; + + // Streaming mode ONLY. + // In streaming mode, we do not know the end time of a tracked object + // before it is completed. Hence, there is no VideoSegment info returned. + // Instead, we provide a unique identifiable integer track_id so that + // the customers can correlate the results of the ongoing + // ObjectTrackAnnotation of the same track_id over time. + int64 track_id = 5; + } + // Entity to specify the object category that this track is labeled as. Entity entity = 1; @@ -413,9 +429,6 @@ message ObjectTrackingAnnotation { // Information corresponding to all frames where this object track appears. repeated ObjectTrackingFrame frames = 2; - - // Each object track corresponds to one video segment where it appears. - VideoSegment segment = 3; } // Video annotation feature. diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index 0f6b328f84f..bca5c0f6b86 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -11428,6 +11428,12 @@ export namespace google { /** Properties of an ObjectTrackingAnnotation. */ interface IObjectTrackingAnnotation { + /** ObjectTrackingAnnotation segment */ + segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId */ + trackId?: (number|Long|string|null); + /** ObjectTrackingAnnotation entity */ entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); @@ -11436,9 +11442,6 @@ export namespace google { /** ObjectTrackingAnnotation frames */ frames?: (google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[]|null); - - /** ObjectTrackingAnnotation segment */ - segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); } /** Represents an ObjectTrackingAnnotation. */ @@ -11450,6 +11453,12 @@ export namespace google { */ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation); + /** ObjectTrackingAnnotation segment. */ + public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + + /** ObjectTrackingAnnotation trackId. */ + public trackId?: (number|Long|string|null); + /** ObjectTrackingAnnotation entity. */ public entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null); @@ -11459,8 +11468,8 @@ export namespace google { /** ObjectTrackingAnnotation frames. */ public frames: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[]; - /** ObjectTrackingAnnotation segment. */ - public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null); + /** ObjectTrackingAnnotation trackInfo. */ + public trackInfo?: ("segment"|"trackId"); /** * Creates a new ObjectTrackingAnnotation instance using the specified properties. diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 847d9d1f9df..73e25fb3899 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -28822,10 +28822,11 @@ * Properties of an ObjectTrackingAnnotation. * @memberof google.cloud.videointelligence.v1p2beta1 * @interface IObjectTrackingAnnotation + * @property {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment + * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId * @property {google.cloud.videointelligence.v1p2beta1.IEntity|null} [entity] ObjectTrackingAnnotation entity * @property {number|null} [confidence] ObjectTrackingAnnotation confidence * @property {Array.|null} [frames] ObjectTrackingAnnotation frames - * @property {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment */ /** @@ -28844,6 +28845,22 @@ this[keys[i]] = properties[keys[i]]; } + /** + * ObjectTrackingAnnotation segment. + * @member {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null|undefined} segment + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.segment = null; + + /** + * ObjectTrackingAnnotation trackId. + * @member {number|Long|null|undefined} trackId + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @instance + */ + ObjectTrackingAnnotation.prototype.trackId = null; + /** * ObjectTrackingAnnotation entity. * @member {google.cloud.videointelligence.v1p2beta1.IEntity|null|undefined} entity @@ -28868,13 +28885,19 @@ */ ObjectTrackingAnnotation.prototype.frames = $util.emptyArray; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + /** - * ObjectTrackingAnnotation segment. - * @member {google.cloud.videointelligence.v1p2beta1.IVideoSegment|null|undefined} segment + * ObjectTrackingAnnotation trackInfo. + * @member {"segment"|"trackId"|undefined} trackInfo * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation * @instance */ - ObjectTrackingAnnotation.prototype.segment = null; + Object.defineProperty(ObjectTrackingAnnotation.prototype, "trackInfo", { + get: $util.oneOfGetter($oneOfFields = ["segment", "trackId"]), + set: $util.oneOfSetter($oneOfFields) + }); /** * Creates a new ObjectTrackingAnnotation instance using the specified properties. @@ -28909,6 +28932,8 @@ $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.encode(message.segment, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + if (message.trackId != null && Object.hasOwnProperty.call(message, "trackId")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.trackId); return writer; }; @@ -28943,6 +28968,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 3: + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + case 5: + message.trackId = reader.int64(); + break; case 1: message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); break; @@ -28954,9 +28985,6 @@ message.frames = []; message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); break; - case 3: - message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); - break; default: reader.skipType(tag & 7); break; @@ -28992,6 +29020,22 @@ ObjectTrackingAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; + if (message.segment != null && message.hasOwnProperty("segment")) { + properties.trackInfo = 1; + { + var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segment); + if (error) + return "segment." + error; + } + } + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (properties.trackInfo === 1) + return "trackInfo: multiple values"; + properties.trackInfo = 1; + if (!$util.isInteger(message.trackId) && !(message.trackId && $util.isInteger(message.trackId.low) && $util.isInteger(message.trackId.high))) + return "trackId: integer|Long expected"; + } if (message.entity != null && message.hasOwnProperty("entity")) { var error = $root.google.cloud.videointelligence.v1p2beta1.Entity.verify(message.entity); if (error) @@ -29009,11 +29053,6 @@ return "frames." + error; } } - if (message.segment != null && message.hasOwnProperty("segment")) { - var error = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.verify(message.segment); - if (error) - return "segment." + error; - } return null; }; @@ -29029,6 +29068,20 @@ if (object instanceof $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation) return object; var message = new $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation(); + if (object.segment != null) { + if (typeof object.segment !== "object") + throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.segment: object expected"); + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segment); + } + if (object.trackId != null) + if ($util.Long) + (message.trackId = $util.Long.fromValue(object.trackId)).unsigned = false; + else if (typeof object.trackId === "string") + message.trackId = parseInt(object.trackId, 10); + else if (typeof object.trackId === "number") + message.trackId = object.trackId; + else if (typeof object.trackId === "object") + message.trackId = new $util.LongBits(object.trackId.low >>> 0, object.trackId.high >>> 0).toNumber(); if (object.entity != null) { if (typeof object.entity !== "object") throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.entity: object expected"); @@ -29046,11 +29099,6 @@ message.frames[i] = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.fromObject(object.frames[i]); } } - if (object.segment != null) { - if (typeof object.segment !== "object") - throw TypeError(".google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.segment: object expected"); - message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.fromObject(object.segment); - } return message; }; @@ -29071,7 +29119,6 @@ object.frames = []; if (options.defaults) { object.entity = null; - object.segment = null; object.confidence = 0; } if (message.entity != null && message.hasOwnProperty("entity")) @@ -29081,10 +29128,21 @@ for (var j = 0; j < message.frames.length; ++j) object.frames[j] = $root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.toObject(message.frames[j], options); } - if (message.segment != null && message.hasOwnProperty("segment")) + if (message.segment != null && message.hasOwnProperty("segment")) { object.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.toObject(message.segment, options); + if (options.oneofs) + object.trackInfo = "segment"; + } if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.trackId != null && message.hasOwnProperty("trackId")) { + if (typeof message.trackId === "number") + object.trackId = options.longs === String ? String(message.trackId) : message.trackId; + else + object.trackId = options.longs === String ? $util.Long.prototype.toString.call(message.trackId) : options.longs === Number ? new $util.LongBits(message.trackId.low >>> 0, message.trackId.high >>> 0).toNumber() : message.trackId; + if (options.oneofs) + object.trackInfo = "trackId"; + } return object; }; diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index e2b7a29bb14..a656c3b4018 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -2259,7 +2259,23 @@ } }, "ObjectTrackingAnnotation": { + "oneofs": { + "trackInfo": { + "oneof": [ + "segment", + "trackId" + ] + } + }, "fields": { + "segment": { + "type": "VideoSegment", + "id": 3 + }, + "trackId": { + "type": "int64", + "id": 5 + }, "entity": { "type": "Entity", "id": 1 @@ -2272,10 +2288,6 @@ "rule": "repeated", "type": "ObjectTrackingFrame", "id": 2 - }, - "segment": { - "type": "VideoSegment", - "id": 3 } } }, From 37ba9ca9859c2e20f63b10788102d72858c6f92d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 3 May 2022 02:24:21 +0200 Subject: [PATCH 394/418] chore(deps): update dependency @types/mocha to v9 (#706) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f08ec9ee769..3dbd11d2a92 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -47,7 +47,7 @@ "google-gax": "^2.24.1" }, "devDependencies": { - "@types/mocha": "^8.0.0", + "@types/mocha": "^9.0.0", "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "c8": "^7.0.0", From ae946164ad276a77376f48fc62ccbd4c2f492d63 Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Mon, 23 May 2022 12:15:29 -0700 Subject: [PATCH 395/418] build!: update library to use Node 12 (#714) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build!: Update library to use Node 12 * 🦉 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 --- packages/google-cloud-videointelligence/package.json | 10 +++++----- .../samples/package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 3dbd11d2a92..91ce3caa6cf 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=10" + "node": ">=12.0.0" }, "repository": "googleapis/nodejs-video-intelligence", "main": "build/src/index.js", @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^2.24.1" + "google-gax": "^3.0.1" }, "devDependencies": { "@types/mocha": "^9.0.0", @@ -52,17 +52,17 @@ "@types/sinon": "^10.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", - "gts": "^3.0.0", + "gts": "^3.1.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", - "mocha": "^8.0.0", + "mocha": "^9.2.2", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", "sinon": "^13.0.0", "ts-loader": "^9.0.0", - "typescript": "^3.8.3" + "typescript": "^4.6.4" } } diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index e6210830c86..c17ca9ac8fb 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -9,7 +9,7 @@ "author": "Google Inc.", "repository": "googleapis/nodejs-video-intelligence", "engines": { - "node": ">=8" + "node": ">=12.0.0" }, "scripts": { "test": "mocha system-test --timeout=800000" From 029e07b3775714b5af96a934ef009fd8864c232f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 31 May 2022 11:53:36 -0700 Subject: [PATCH 396/418] fix: fixes for dynamic routing and streaming descriptors (#716) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: fixes for dynamic routing and streaming descriptors Use gapic-generator-typescript v2.14.5. PiperOrigin-RevId: 450616838 Source-Link: https://github.com/googleapis/googleapis/commit/7a47b72791e0b84d78beca4c2b26bec42ce31572 Source-Link: https://github.com/googleapis/googleapis-gen/commit/42cc6331bae0b99f61b8e01ae15b05211716c4f9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDJjYzYzMzFiYWUwYjk5ZjYxYjhlMDFhZTE1YjA1MjExNzE2YzRmOSJ9 * 🦉 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 --- .../v1p3beta1/streaming_video_intelligence_service_client.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 96f9b71fff7..a8190dae957 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -162,7 +162,8 @@ export class StreamingVideoIntelligenceServiceClient { // Provide descriptors for these. this.descriptors.stream = { streamingAnnotateVideo: new this._gaxModule.StreamDescriptor( - gax.StreamType.BIDI_STREAMING + gax.StreamType.BIDI_STREAMING, + opts.fallback === 'rest' ), }; From 99992272d008de9abbabc3a7b8324976886142c7 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 02:58:14 +0200 Subject: [PATCH 397/418] chore(deps): update dependency sinon to v14 (#711) Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> Co-authored-by: Benjamin E. Coe --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 91ce3caa6cf..f5762462059 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -61,7 +61,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "prettier": "^2.1.2", - "sinon": "^13.0.0", + "sinon": "^14.0.0", "ts-loader": "^9.0.0", "typescript": "^4.6.4" } From 6168c03cc8b8de7c7c8bbe72f56126c226172f3f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:10:15 +0200 Subject: [PATCH 398/418] chore(deps): update dependency jsdoc-region-tag to v2 (#719) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index f5762462059..ac73170f08f 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -55,7 +55,7 @@ "gts": "^3.1.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": "^9.2.2", "null-loader": "^4.0.0", From b81d3d5bc9d7d4cf9e4a4bd4acba4e7b9757e12d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:30:17 +0200 Subject: [PATCH 399/418] chore(deps): update dependency jsdoc-fresh to v2 (#718) 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index ac73170f08f..185b550eebd 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -54,7 +54,7 @@ "eslint-plugin-node": "^11.1.0", "gts": "^3.1.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": "^9.2.2", From 0e68be5030a4e5568db863afb4ff3c8eff199956 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 14:53:26 -0400 Subject: [PATCH 400/418] feat: support regapic LRO (#720) 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 Co-authored-by: Owl Bot --- .../v1/video_intelligence_service_client.ts | 59 ++++++++++++++---- .../video_intelligence_service_client.ts | 61 +++++++++++++++---- .../video_intelligence_service_client.ts | 61 +++++++++++++++---- .../video_intelligence_service_client.ts | 61 +++++++++++++++---- ...aming_video_intelligence_service_client.ts | 11 ++-- .../video_intelligence_service_client.ts | 61 +++++++++++++++---- 6 files changed, 248 insertions(+), 66 deletions(-) diff --git a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 05f2d23441c..392839d0b9c 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -67,7 +68,7 @@ export class VideoIntelligenceServiceClient { * * @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] @@ -90,11 +91,10 @@ export class VideoIntelligenceServiceClient { * 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. @@ -159,16 +159,51 @@ export class VideoIntelligenceServiceClient { 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 = [ + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + additional_bindings: [ + { + post: '/v1/operations/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + delete: + '/v1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + {get: '/v1/operations/{name=projects/*/locations/*/operations/*}'}, + ], + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1/{name=projects/*/locations/*}/operations', + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( '.google.cloud.videointelligence.v1.AnnotateVideoResponse' diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index ef962887f31..5c31f108cc7 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -67,7 +68,7 @@ export class VideoIntelligenceServiceClient { * * @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] @@ -90,11 +91,10 @@ export class VideoIntelligenceServiceClient { * 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. @@ -159,16 +159,53 @@ export class VideoIntelligenceServiceClient { 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 = [ + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1beta2/{name=projects/*/locations/*}/operations', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1beta2/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + get: '/v1beta2/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1beta2/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + delete: + '/v1beta2/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1beta2/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + additional_bindings: [ + { + post: '/v1beta2/operations/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( '.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse' diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index ee682fff210..c45474438cf 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -67,7 +68,7 @@ export class VideoIntelligenceServiceClient { * * @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] @@ -90,11 +91,10 @@ export class VideoIntelligenceServiceClient { * 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. @@ -159,16 +159,53 @@ export class VideoIntelligenceServiceClient { 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 = [ + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1p1beta1/{name=projects/*/locations/*}/operations', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1p1beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + get: '/v1p1beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1p1beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + delete: + '/v1p1beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1p1beta1/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + additional_bindings: [ + { + post: '/v1p1beta1/operations/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( '.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse' diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 2ef98b4fb64..6a7d37772f6 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -67,7 +68,7 @@ export class VideoIntelligenceServiceClient { * * @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] @@ -90,11 +91,10 @@ export class VideoIntelligenceServiceClient { * 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. @@ -159,16 +159,53 @@ export class VideoIntelligenceServiceClient { 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 = [ + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1p2beta1/{name=projects/*/locations/*}/operations', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1p2beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + get: '/v1p2beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1p2beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + delete: + '/v1p2beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1p2beta1/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + additional_bindings: [ + { + post: '/v1p2beta1/operations/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( '.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse' diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index a8190dae957..3e21b7fd84c 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -67,7 +67,7 @@ export class StreamingVideoIntelligenceServiceClient { * * @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] @@ -90,11 +90,10 @@ export class StreamingVideoIntelligenceServiceClient { * 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-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 7475f0feabd..61a566e7faa 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -67,7 +68,7 @@ export class VideoIntelligenceServiceClient { * * @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] @@ -90,11 +91,10 @@ export class VideoIntelligenceServiceClient { * 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. @@ -159,16 +159,53 @@ export class VideoIntelligenceServiceClient { 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 = [ + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1p3beta1/{name=projects/*/locations/*}/operations', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1p3beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + get: '/v1p3beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1p3beta1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + { + delete: + '/v1p3beta1/operations/{name=projects/*/locations/*/operations/*}', + }, + ], + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1p3beta1/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + additional_bindings: [ + { + post: '/v1p3beta1/operations/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const annotateVideoResponse = protoFilesRoot.lookup( '.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse' From 4e502c232328b85c0a9a3e67c2adb391c73cf588 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 20:04:18 +0000 Subject: [PATCH 401/418] chore(main): release 4.0.0 (#715) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release *beep* *boop* --- ## [4.0.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v3.4.1...v4.0.0) (2022-06-29) ### ⚠ BREAKING CHANGES * update library to use Node 12 (#714) * field ObjectTrackingAnnotation.segment moved into oneof, added track_id (#704) ### Features * field ObjectTrackingAnnotation.segment moved into oneof, added track_id ([#704](https://github.com/googleapis/nodejs-video-intelligence/issues/704)) ([b55757b](https://github.com/googleapis/nodejs-video-intelligence/commit/b55757bedbc2563f2304a6596c50104b499f73d5)) * support regapic LRO ([#720](https://github.com/googleapis/nodejs-video-intelligence/issues/720)) ([903e5ca](https://github.com/googleapis/nodejs-video-intelligence/commit/903e5cad702bfcaab49ed141fe503ff0d22c3b83)) ### Bug Fixes * fixes for dynamic routing and streaming descriptors ([#716](https://github.com/googleapis/nodejs-video-intelligence/issues/716)) ([853d91e](https://github.com/googleapis/nodejs-video-intelligence/commit/853d91e57929323e18ac599e52d436f0f5c3288c)) ### Build System * update library to use Node 12 ([#714](https://github.com/googleapis/nodejs-video-intelligence/issues/714)) ([a9fbbcd](https://github.com/googleapis/nodejs-video-intelligence/commit/a9fbbcd7ab5f7cc49026b3a39b89512ba21c481c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .../CHANGELOG.md | 23 +++++++++++++++++++ .../package.json | 2 +- ...ata.google.cloud.videointelligence.v1.json | 2 +- ...oogle.cloud.videointelligence.v1beta2.json | 2 +- ...gle.cloud.videointelligence.v1p1beta1.json | 2 +- ...gle.cloud.videointelligence.v1p2beta1.json | 2 +- ...gle.cloud.videointelligence.v1p3beta1.json | 2 +- .../samples/package.json | 2 +- 8 files changed, 30 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index d2dced63d63..a6b30b930db 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,29 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [4.0.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v3.4.1...v4.0.0) (2022-06-29) + + +### ⚠ BREAKING CHANGES + +* update library to use Node 12 (#714) +* field ObjectTrackingAnnotation.segment moved into oneof, added track_id (#704) + +### Features + +* field ObjectTrackingAnnotation.segment moved into oneof, added track_id ([#704](https://github.com/googleapis/nodejs-video-intelligence/issues/704)) ([b55757b](https://github.com/googleapis/nodejs-video-intelligence/commit/b55757bedbc2563f2304a6596c50104b499f73d5)) +* support regapic LRO ([#720](https://github.com/googleapis/nodejs-video-intelligence/issues/720)) ([903e5ca](https://github.com/googleapis/nodejs-video-intelligence/commit/903e5cad702bfcaab49ed141fe503ff0d22c3b83)) + + +### Bug Fixes + +* fixes for dynamic routing and streaming descriptors ([#716](https://github.com/googleapis/nodejs-video-intelligence/issues/716)) ([853d91e](https://github.com/googleapis/nodejs-video-intelligence/commit/853d91e57929323e18ac599e52d436f0f5c3288c)) + + +### Build System + +* update library to use Node 12 ([#714](https://github.com/googleapis/nodejs-video-intelligence/issues/714)) ([a9fbbcd](https://github.com/googleapis/nodejs-video-intelligence/commit/a9fbbcd7ab5f7cc49026b3a39b89512ba21c481c)) + ### [3.4.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.4.0...v3.4.1) (2021-09-15) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 185b550eebd..19804500cdc 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "3.4.1", + "version": "4.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json index d261a7d40ea..431bda4579c 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "3.4.1", + "version": "4.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index 9134a6fc670..38860f4504d 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "3.4.1", + "version": "4.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json index 24027bd4987..7c6eedbf241 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "3.4.1", + "version": "4.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json index 89eee8a14ab..5dbc6e71ce6 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "3.4.1", + "version": "4.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index 582f8136181..774afbfe955 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "3.4.1", + "version": "4.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index c17ca9ac8fb..0cd0b9d9d5b 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^3.4.1", + "@google-cloud/video-intelligence": "^4.0.0", "yargs": "^16.0.0" }, "devDependencies": { From 7e82cb411ce700f38218f682fd615dea4112339e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 8 Jul 2022 23:02:27 +0200 Subject: [PATCH 402/418] chore(deps): update dependency linkinator to v4 (#722) 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) | [`^2.0.3` -> `^4.0.0`](https://renovatebot.com/diffs/npm/linkinator/2.16.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/linkinator/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/linkinator/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/linkinator/4.0.0/compatibility-slim/2.16.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/linkinator/4.0.0/confidence-slim/2.16.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
JustinBeckwith/linkinator ### [`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. ### [`v3.1.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.1.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.6...v3.1.0) ##### Features - allow --skip to be defined multiple times ([#​399](https://togithub.com/JustinBeckwith/linkinator/issues/399)) ([5ca5a46](https://togithub.com/JustinBeckwith/linkinator/commit/5ca5a461508e688de12e5ae6b4cfb6565f832ebf)) ### [`v3.0.6`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.6) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.5...v3.0.6) ##### Bug Fixes - **deps:** upgrade node-glob to v8 ([#​397](https://togithub.com/JustinBeckwith/linkinator/issues/397)) ([d334dc6](https://togithub.com/JustinBeckwith/linkinator/commit/d334dc6734cd7c2b73d7ed3dea0550a6c3072ad5)) ### [`v3.0.5`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.5) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.4...v3.0.5) ##### Bug Fixes - **deps:** upgrade to htmlparser2 v8.0.1 ([#​396](https://togithub.com/JustinBeckwith/linkinator/issues/396)) ([ba3b9a8](https://togithub.com/JustinBeckwith/linkinator/commit/ba3b9a8a9b19d39af6ed91790135e833b80c1eb6)) ### [`v3.0.4`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.4) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.3...v3.0.4) ##### Bug Fixes - **deps:** update dependency gaxios to v5 ([#​391](https://togithub.com/JustinBeckwith/linkinator/issues/391)) ([48af50e](https://togithub.com/JustinBeckwith/linkinator/commit/48af50e787731204aeb7eff41325c62291311e45)) ### [`v3.0.3`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.3) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.2...v3.0.3) ##### Bug Fixes - export getConfig from index ([#​371](https://togithub.com/JustinBeckwith/linkinator/issues/371)) ([0bc0355](https://togithub.com/JustinBeckwith/linkinator/commit/0bc0355c7e2ea457f247e6b52d1577b8c4ecb3a1)) ### [`v3.0.2`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.2) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.1...v3.0.2) ##### Bug Fixes - allow server root with trailing slash ([#​370](https://togithub.com/JustinBeckwith/linkinator/issues/370)) ([8adf6b0](https://togithub.com/JustinBeckwith/linkinator/commit/8adf6b025fda250e38461f1cdad40fe08c3b3b7c)) ### [`v3.0.1`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.1) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.0...v3.0.1) ##### Bug Fixes - decode path parts in local web server ([#​369](https://togithub.com/JustinBeckwith/linkinator/issues/369)) ([4696a0c](https://togithub.com/JustinBeckwith/linkinator/commit/4696a0c38c341b178ed815f47371fca955979feb)) ### [`v3.0.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v2.16.2...v3.0.0) ##### Bug Fixes - **deps:** update dependency chalk to v5 ([#​362](https://togithub.com/JustinBeckwith/linkinator/issues/362)) ([4b17a8d](https://togithub.com/JustinBeckwith/linkinator/commit/4b17a8d87b649eaf813428f8ee6955e1d21dae4f)) - feat!: convert to es modules, drop node 10 ([#​359](https://togithub.com/JustinBeckwith/linkinator/issues/359)) ([efee299](https://togithub.com/JustinBeckwith/linkinator/commit/efee299ab8a805accef751eecf8538915a4e7783)), closes [#​359](https://togithub.com/JustinBeckwith/linkinator/issues/359) ##### BREAKING CHANGES - this module now requires node.js 12 and above, and has moved to es modules by default.
--- ### 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-video-intelligence). --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 19804500cdc..e4f12dcdab1 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -56,7 +56,7 @@ "jsdoc": "^3.6.3", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", - "linkinator": "^2.0.3", + "linkinator": "^4.0.0", "mocha": "^9.2.2", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", From 1e9f27cbadf60725ab6a0af8720b6510bd57871d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:25:35 -0700 Subject: [PATCH 403/418] fix: do not import the whole google-gax from proto JS (#1553) (#747) * fix: do not import the whole google-gax from proto JS (#1553) 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 * fix(deps): update google-gax Co-authored-by: Owl Bot Co-authored-by: Alexander Fenster --- .../package.json | 2 +- .../protos/protos.d.ts | 1519 ++- .../protos/protos.js | 8801 ++++++++++++----- .../protos/protos.json | 24 + 4 files changed, 7884 insertions(+), 2462 deletions(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e4f12dcdab1..61909269102 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^3.0.1" + "google-gax": "^3.3.0" }, "devDependencies": { "@types/mocha": "^9.0.0", diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index bca5c0f6b86..edaecb4fb14 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/protos/protos.d.ts @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import * as Long from "long"; -import {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); +import type {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { @@ -64,7 +64,7 @@ export namespace google { namespace VideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService|annotateVideo}. * @param error Error, if any * @param [response] Operation */ @@ -189,6 +189,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoContext. */ @@ -327,6 +334,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Feature enum. */ @@ -473,6 +487,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ShotChangeDetectionConfig. */ @@ -563,6 +584,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectTrackingConfig. */ @@ -653,6 +681,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceDetectionConfig. */ @@ -755,6 +790,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PersonDetectionConfig. */ @@ -857,6 +899,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PersonDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentDetectionConfig. */ @@ -947,6 +996,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionConfig. */ @@ -1043,6 +1099,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoSegment. */ @@ -1139,6 +1202,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelSegment. */ @@ -1235,6 +1305,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelFrame. */ @@ -1331,6 +1408,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Entity. */ @@ -1433,6 +1517,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Entity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelAnnotation. */ @@ -1547,6 +1638,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentFrame. */ @@ -1643,6 +1741,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentAnnotation. */ @@ -1739,6 +1844,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedBoundingBox. */ @@ -1847,6 +1959,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingBox + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceDetectionAnnotation. */ @@ -1949,6 +2068,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceDetectionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PersonDetectionAnnotation. */ @@ -2045,6 +2171,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PersonDetectionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceSegment. */ @@ -2135,6 +2268,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceFrame. */ @@ -2231,6 +2371,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -2333,6 +2480,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; } /** Properties of a TimestampedObject. */ @@ -2441,6 +2595,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TimestampedObject + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Track. */ @@ -2549,6 +2710,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Track + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedAttribute. */ @@ -2651,6 +2819,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedAttribute + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedLandmark. */ @@ -2753,6 +2928,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLandmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationResults. */ @@ -2939,6 +3121,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoResponse. */ @@ -3029,6 +3218,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationProgress. */ @@ -3149,6 +3345,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoProgress. */ @@ -3239,6 +3442,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscriptionConfig. */ @@ -3377,6 +3587,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscriptionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechContext. */ @@ -3467,6 +3684,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscription. */ @@ -3563,6 +3787,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscription + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechRecognitionAlternative. */ @@ -3665,6 +3896,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechRecognitionAlternative + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WordInfo. */ @@ -3779,6 +4017,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WordInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -3875,6 +4120,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 NormalizedBoundingPoly. */ @@ -3965,6 +4217,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextSegment. */ @@ -4067,6 +4326,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextFrame. */ @@ -4163,6 +4429,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextAnnotation. */ @@ -4265,6 +4538,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; } /** Properties of an ObjectTrackingFrame. */ @@ -4361,6 +4641,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectTrackingAnnotation. */ @@ -4484,6 +4771,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LogoRecognitionAnnotation. */ @@ -4586,6 +4880,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LogoRecognitionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -4630,7 +4931,7 @@ export namespace google { namespace VideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService|annotateVideo}. * @param error Error, if any * @param [response] Operation */ @@ -4755,6 +5056,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoContext. */ @@ -4869,6 +5177,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelDetectionConfig. */ @@ -4971,6 +5286,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ShotChangeDetectionConfig. */ @@ -5061,6 +5383,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentDetectionConfig. */ @@ -5151,6 +5480,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceDetectionConfig. */ @@ -5247,6 +5583,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoSegment. */ @@ -5343,6 +5686,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelSegment. */ @@ -5439,6 +5789,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelFrame. */ @@ -5535,6 +5892,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Entity. */ @@ -5637,6 +6001,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Entity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelAnnotation. */ @@ -5745,6 +6116,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentFrame. */ @@ -5841,6 +6219,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentAnnotation. */ @@ -5931,6 +6316,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedBoundingBox. */ @@ -6039,6 +6431,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingBox + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceSegment. */ @@ -6129,6 +6528,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceFrame. */ @@ -6225,6 +6631,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -6327,6 +6740,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; } /** Properties of a VideoAnnotationResults. */ @@ -6459,6 +6879,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoResponse. */ @@ -6549,6 +6976,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationProgress. */ @@ -6657,6 +7091,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoProgress. */ @@ -6747,6 +7188,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Feature enum. */ @@ -6818,7 +7266,7 @@ export namespace google { namespace VideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService|annotateVideo}. * @param error Error, if any * @param [response] Operation */ @@ -6943,6 +7391,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoContext. */ @@ -7057,6 +7512,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelDetectionConfig. */ @@ -7159,6 +7621,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ShotChangeDetectionConfig. */ @@ -7249,6 +7718,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentDetectionConfig. */ @@ -7339,6 +7815,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoSegment. */ @@ -7435,6 +7918,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelSegment. */ @@ -7531,6 +8021,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelFrame. */ @@ -7627,6 +8124,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Entity. */ @@ -7729,6 +8233,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Entity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelAnnotation. */ @@ -7837,6 +8348,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentFrame. */ @@ -7933,6 +8451,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentAnnotation. */ @@ -8023,6 +8548,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationResults. */ @@ -8155,6 +8687,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoResponse. */ @@ -8245,6 +8784,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationProgress. */ @@ -8353,6 +8899,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoProgress. */ @@ -8443,6 +8996,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscriptionConfig. */ @@ -8563,6 +9123,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscriptionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechContext. */ @@ -8653,6 +9220,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscription. */ @@ -8743,6 +9317,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscription + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechRecognitionAlternative. */ @@ -8845,6 +9426,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechRecognitionAlternative + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WordInfo. */ @@ -8947,6 +9535,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WordInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Feature enum. */ @@ -9018,7 +9613,7 @@ export namespace google { namespace VideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService|annotateVideo}. * @param error Error, if any * @param [response] Operation */ @@ -9143,7 +9738,14 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; - } + + /** + * Gets the default type url for AnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } /** Properties of a VideoContext. */ interface IVideoContext { @@ -9257,6 +9859,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelDetectionConfig. */ @@ -9359,6 +9968,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ShotChangeDetectionConfig. */ @@ -9449,6 +10065,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentDetectionConfig. */ @@ -9539,6 +10162,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionConfig. */ @@ -9629,6 +10259,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoSegment. */ @@ -9725,6 +10362,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelSegment. */ @@ -9821,6 +10465,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelFrame. */ @@ -9917,6 +10568,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Entity. */ @@ -10019,6 +10677,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Entity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelAnnotation. */ @@ -10127,6 +10792,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentFrame. */ @@ -10223,6 +10895,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentAnnotation. */ @@ -10313,6 +10992,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedBoundingBox. */ @@ -10421,6 +11107,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingBox + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationResults. */ @@ -10559,6 +11252,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoResponse. */ @@ -10649,6 +11349,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationProgress. */ @@ -10757,6 +11464,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoProgress. */ @@ -10847,6 +11561,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -10943,6 +11664,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 NormalizedBoundingPoly. */ @@ -11033,6 +11761,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextSegment. */ @@ -11135,6 +11870,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextFrame. */ @@ -11231,6 +11973,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextAnnotation. */ @@ -11327,6 +12076,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; } /** Properties of an ObjectTrackingFrame. */ @@ -11423,6 +12179,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectTrackingAnnotation. */ @@ -11540,6 +12303,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Feature enum. */ @@ -11612,7 +12382,7 @@ export namespace google { namespace VideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService|annotateVideo}. * @param error Error, if any * @param [response] Operation */ @@ -11657,7 +12427,7 @@ export namespace google { namespace StreamingVideoIntelligenceService { /** - * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService#streamingAnnotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService|streamingAnnotateVideo}. * @param error Error, if any * @param [response] StreamingAnnotateVideoResponse */ @@ -11782,6 +12552,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoContext. */ @@ -11920,6 +12697,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** LabelDetectionMode enum. */ @@ -12052,6 +12836,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** StreamingFeature enum. */ @@ -12169,6 +12960,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectTrackingConfig. */ @@ -12259,6 +13057,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentDetectionConfig. */ @@ -12349,6 +13154,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceDetectionConfig. */ @@ -12451,6 +13263,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PersonDetectionConfig. */ @@ -12553,6 +13372,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PersonDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionConfig. */ @@ -12649,6 +13475,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoSegment. */ @@ -12745,6 +13578,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelSegment. */ @@ -12841,6 +13681,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelFrame. */ @@ -12937,6 +13784,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Entity. */ @@ -13039,6 +13893,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Entity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LabelAnnotation. */ @@ -13147,6 +14008,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentFrame. */ @@ -13243,6 +14111,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ExplicitContentAnnotation. */ @@ -13333,6 +14208,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExplicitContentAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedBoundingBox. */ @@ -13441,6 +14323,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingBox + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TimestampedObject. */ @@ -13549,6 +14438,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TimestampedObject + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Track. */ @@ -13657,6 +14553,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Track + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedAttribute. */ @@ -13759,6 +14662,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedAttribute + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Celebrity. */ @@ -13861,6 +14771,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 CelebrityTrack. */ @@ -13957,6 +14874,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CelebrityTrack + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace CelebrityTrack { @@ -14055,6 +14979,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RecognizedCelebrity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -14146,6 +15077,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CelebrityRecognitionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedLandmark. */ @@ -14248,6 +15186,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLandmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceDetectionAnnotation. */ @@ -14344,6 +15289,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceDetectionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PersonDetectionAnnotation. */ @@ -14434,6 +15386,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PersonDetectionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationResults. */ @@ -14620,6 +15579,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoResponse. */ @@ -14710,6 +15676,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a VideoAnnotationProgress. */ @@ -14830,6 +15803,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VideoAnnotationProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateVideoProgress. */ @@ -14920,6 +15900,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateVideoProgress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscriptionConfig. */ @@ -15058,6 +16045,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscriptionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechContext. */ @@ -15148,6 +16142,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechTranscription. */ @@ -15244,6 +16245,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechTranscription + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SpeechRecognitionAlternative. */ @@ -15346,6 +16354,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SpeechRecognitionAlternative + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WordInfo. */ @@ -15460,6 +16475,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WordInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -15556,6 +16578,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 NormalizedBoundingPoly. */ @@ -15646,6 +16675,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedBoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextSegment. */ @@ -15748,6 +16784,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextSegment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextFrame. */ @@ -15844,6 +16887,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextAnnotation. */ @@ -15940,6 +16990,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; } /** Properties of an ObjectTrackingFrame. */ @@ -16036,6 +17093,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingFrame + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectTrackingAnnotation. */ @@ -16153,6 +17217,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectTrackingAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LogoRecognitionAnnotation. */ @@ -16255,6 +17326,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LogoRecognitionAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingAnnotateVideoRequest. */ @@ -16354,6 +17432,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingAnnotateVideoRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingVideoConfig. */ @@ -16495,6 +17580,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingVideoConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingAnnotateVideoResponse. */ @@ -16597,6 +17689,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingAnnotateVideoResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingVideoAnnotationResults. */ @@ -16705,6 +17804,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingVideoAnnotationResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingShotChangeDetectionConfig. */ @@ -16789,6 +17895,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingShotChangeDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingLabelDetectionConfig. */ @@ -16879,6 +17992,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingLabelDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingExplicitContentDetectionConfig. */ @@ -16963,6 +18083,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingExplicitContentDetectionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingObjectTrackingConfig. */ @@ -17047,6 +18174,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingObjectTrackingConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingAutomlActionRecognitionConfig. */ @@ -17137,6 +18271,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingAutomlActionRecognitionConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingAutomlClassificationConfig. */ @@ -17227,6 +18368,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingAutomlClassificationConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingAutomlObjectTrackingConfig. */ @@ -17317,6 +18465,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingAutomlObjectTrackingConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StreamingStorageConfig. */ @@ -17413,6 +18568,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StreamingStorageConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -17515,6 +18677,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. */ @@ -17662,6 +18831,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. */ @@ -17758,6 +18934,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. */ @@ -17864,6 +19047,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. */ @@ -17904,6 +19094,9 @@ export namespace google { /** FileDescriptorProto syntax */ syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (string|null); } /** Represents a FileDescriptorProto. */ @@ -17951,6 +19144,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 @@ -18020,6 +19216,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. */ @@ -18164,6 +19367,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 { @@ -18268,6 +19478,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. */ @@ -18364,6 +19581,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; } } @@ -18455,6 +19679,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. */ @@ -18605,6 +19836,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 { @@ -18733,6 +19971,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. */ @@ -18847,6 +20092,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 { @@ -18945,6 +20197,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; } } @@ -19048,6 +20307,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. */ @@ -19150,6 +20416,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. */ @@ -19270,6 +20543,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. */ @@ -19480,6 +20760,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 { @@ -19604,6 +20891,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. */ @@ -19621,6 +20915,9 @@ export namespace google { /** FieldOptions lazy */ lazy?: (boolean|null); + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + /** FieldOptions deprecated */ deprecated?: (boolean|null); @@ -19655,6 +20952,9 @@ export namespace google { /** FieldOptions lazy. */ public lazy: boolean; + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + /** FieldOptions deprecated. */ public deprecated: boolean; @@ -19733,6 +21033,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 { @@ -19840,6 +21147,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. */ @@ -19942,6 +21256,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. */ @@ -20038,6 +21359,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. */ @@ -20140,6 +21468,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. */ @@ -20251,6 +21586,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 { @@ -20387,6 +21729,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 { @@ -20485,6 +21834,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; } } @@ -20576,6 +21932,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 { @@ -20692,6 +22055,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; } } @@ -20783,6 +22153,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 { @@ -20801,6 +22178,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. */ @@ -20824,6 +22204,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 @@ -20893,6 +22276,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 + } } } @@ -20990,6 +22390,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. */ @@ -21086,6 +22493,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. */ @@ -21170,6 +22584,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 Timestamp. */ @@ -21266,6 +22687,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; } } @@ -21366,35 +22794,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 */ @@ -21516,6 +22944,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. */ @@ -21606,6 +23041,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. */ @@ -21714,6 +23156,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. */ @@ -21810,6 +23259,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. */ @@ -21900,6 +23356,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. */ @@ -21990,6 +23453,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. */ @@ -22086,6 +23556,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. */ @@ -22182,6 +23659,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; } } @@ -22288,6 +23772,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; } } } diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 73e25fb3899..5aac1136d93 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/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"; @@ -99,7 +99,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService|annotateVideo}. * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService * @typedef AnnotateVideoCallback * @type {function} @@ -286,31 +286,37 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.bytes(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputUri = reader.string(); + break; + } + case 6: { + message.inputContent = reader.bytes(); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; + break; + } + case 3: { + message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputUri = reader.string(); + break; + } + case 5: { + message.locationId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -403,7 +409,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; if (object.features) { if (!Array.isArray(object.features)) @@ -523,6 +529,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoRequest"; + }; + return AnnotateVideoRequest; })(); @@ -708,35 +729,44 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 5: - message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.decode(reader, reader.uint32()); - break; - case 6: - message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); - break; - case 8: - message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.decode(reader, reader.uint32()); - break; - case 11: - message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.decode(reader, reader.uint32()); - break; - case 13: - message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 5: { + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 6: { + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + } + case 8: { + message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 11: { + message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 13: { + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -949,6 +979,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.VideoContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoContext"; + }; + return VideoContext; })(); @@ -1158,21 +1203,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.labelDetectionMode = reader.int32(); - break; - case 2: - message.stationaryCamera = reader.bool(); - break; - case 3: - message.model = reader.string(); - break; - case 4: - message.frameConfidenceThreshold = reader.float(); - break; - case 5: - message.videoConfidenceThreshold = reader.float(); - break; + case 1: { + message.labelDetectionMode = reader.int32(); + break; + } + case 2: { + message.stationaryCamera = reader.bool(); + break; + } + case 3: { + message.model = reader.string(); + break; + } + case 4: { + message.frameConfidenceThreshold = reader.float(); + break; + } + case 5: { + message.videoConfidenceThreshold = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -1318,6 +1368,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelDetectionConfig"; + }; + return LabelDetectionConfig; })(); @@ -1413,9 +1478,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -1505,6 +1571,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ShotChangeDetectionConfig"; + }; + return ShotChangeDetectionConfig; })(); @@ -1600,9 +1681,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -1692,6 +1774,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ObjectTrackingConfig"; + }; + return ObjectTrackingConfig; })(); @@ -1809,15 +1906,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; - case 2: - message.includeBoundingBoxes = reader.bool(); - break; - case 5: - message.includeAttributes = reader.bool(); - break; + case 1: { + message.model = reader.string(); + break; + } + case 2: { + message.includeBoundingBoxes = reader.bool(); + break; + } + case 5: { + message.includeAttributes = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -1924,6 +2024,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceDetectionConfig"; + }; + return FaceDetectionConfig; })(); @@ -2041,15 +2156,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.includeBoundingBoxes = reader.bool(); - break; - case 2: - message.includePoseLandmarks = reader.bool(); - break; - case 3: - message.includeAttributes = reader.bool(); - break; + case 1: { + message.includeBoundingBoxes = reader.bool(); + break; + } + case 2: { + message.includePoseLandmarks = reader.bool(); + break; + } + case 3: { + message.includeAttributes = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -2156,6 +2274,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PersonDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PersonDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.PersonDetectionConfig"; + }; + return PersonDetectionConfig; })(); @@ -2251,9 +2384,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -2343,6 +2477,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentDetectionConfig"; + }; + return ExplicitContentDetectionConfig; })(); @@ -2451,14 +2600,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 2: - message.model = reader.string(); - break; + case 1: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 2: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -2569,6 +2720,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.TextDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextDetectionConfig"; + }; + return TextDetectionConfig; })(); @@ -2675,12 +2841,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -2789,6 +2957,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.VideoSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoSegment"; + }; + return VideoSegment; })(); @@ -2895,12 +3078,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -3004,6 +3189,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.LabelSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelSegment"; + }; + return LabelSegment; })(); @@ -3110,12 +3310,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -3219,6 +3421,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.LabelFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelFrame"; + }; + return LabelFrame; })(); @@ -3336,15 +3553,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3451,6 +3671,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Entity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.Entity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.Entity"; + }; + return Entity; })(); @@ -3596,27 +3831,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1.LabelFrame.decode(reader, reader.uint32())); - break; - case 5: - message.version = reader.string(); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.LabelSegment.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.LabelFrame.decode(reader, reader.uint32())); + break; + } + case 5: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3797,6 +4037,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.LabelAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelAnnotation"; + }; + return LabelAnnotation; })(); @@ -3903,12 +4158,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.pornographyLikelihood = reader.int32(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pornographyLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -4045,6 +4302,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentFrame"; + }; + return ExplicitContentFrame; })(); @@ -4153,14 +4425,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1.ExplicitContentFrame.decode(reader, reader.uint32())); - break; - case 2: - message.version = reader.string(); - break; + case 1: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + } + case 2: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -4276,6 +4550,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentAnnotation"; + }; + return ExplicitContentAnnotation; })(); @@ -4404,18 +4693,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.left = reader.float(); - break; - case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); - break; + case 1: { + message.left = reader.float(); + break; + } + case 2: { + message.top = reader.float(); + break; + } + case 3: { + message.right = reader.float(); + break; + } + case 4: { + message.bottom = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -4530,6 +4823,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingBox + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingBox.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.NormalizedBoundingBox"; + }; + return NormalizedBoundingBox; })(); @@ -4649,17 +4957,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); - break; - case 4: - message.thumbnail = reader.bytes(); - break; - case 5: - message.version = reader.string(); - break; + case 3: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); + break; + } + case 4: { + message.thumbnail = reader.bytes(); + break; + } + case 5: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -4738,7 +5049,7 @@ if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); - else if (object.thumbnail.length) + else if (object.thumbnail.length >= 0) message.thumbnail = object.thumbnail; if (object.version != null) message.version = String(object.version); @@ -4793,6 +5104,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceDetectionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceDetectionAnnotation"; + }; + return FaceDetectionAnnotation; })(); @@ -4901,14 +5227,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); - break; - case 2: - message.version = reader.string(); - break; + case 1: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); + break; + } + case 2: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -5024,6 +5352,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PersonDetectionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PersonDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.PersonDetectionAnnotation"; + }; + return PersonDetectionAnnotation; })(); @@ -5119,9 +5462,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -5216,6 +5560,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.FaceSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceSegment"; + }; + return FaceSegment; })(); @@ -5324,14 +5683,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) - message.normalizedBoundingBoxes = []; - message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32())); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) + message.normalizedBoundingBoxes = []; + message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32())); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -5452,6 +5813,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.FaceFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceFrame"; + }; + return FaceFrame; })(); @@ -5573,19 +5949,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.thumbnail = reader.bytes(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1.FaceSegment.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1.FaceFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.thumbnail = reader.bytes(); + break; + } + case 2: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.FaceSegment.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.FaceFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -5660,7 +6039,7 @@ if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); - else if (object.thumbnail.length) + else if (object.thumbnail.length >= 0) message.thumbnail = object.thumbnail; if (object.segments) { if (!Array.isArray(object.segments)) @@ -5736,6 +6115,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1.FaceAnnotation"; + }; + return FaceAnnotation; })(); @@ -5868,22 +6262,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.videointelligence.v1.DetectedLandmark.decode(reader, reader.uint32())); - break; + case 1: { + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.videointelligence.v1.DetectedLandmark.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -6044,6 +6442,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TimestampedObject + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.TimestampedObject + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TimestampedObject.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.TimestampedObject"; + }; + return TimestampedObject; })(); @@ -6176,22 +6589,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.timestampedObjects && message.timestampedObjects.length)) - message.timestampedObjects = []; - message.timestampedObjects.push($root.google.cloud.videointelligence.v1.TimestampedObject.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.timestampedObjects && message.timestampedObjects.length)) + message.timestampedObjects = []; + message.timestampedObjects.push($root.google.cloud.videointelligence.v1.TimestampedObject.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -6347,6 +6764,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Track + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.Track + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Track.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.Track"; + }; + return Track; })(); @@ -6464,15 +6896,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.value = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -6579,6 +7014,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedAttribute + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.DetectedAttribute + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.DetectedAttribute"; + }; + return DetectedAttribute; })(); @@ -6696,15 +7146,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32()); - break; - case 3: - message.confidence = reader.float(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32()); + break; + } + case 3: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -6816,6 +7269,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLandmark + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.DetectedLandmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLandmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.DetectedLandmark"; + }; + return DetectedLandmark; })(); @@ -7113,83 +7581,100 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 10: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 23: - if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) - message.segmentPresenceLabelAnnotations = []; - message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 24: - if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) - message.shotPresenceLabelAnnotations = []; - message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 13: - if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) - message.faceDetectionAnnotations = []; - message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 11: - if (!(message.speechTranscriptions && message.speechTranscriptions.length)) - message.speechTranscriptions = []; - message.speechTranscriptions.push($root.google.cloud.videointelligence.v1.SpeechTranscription.decode(reader, reader.uint32())); - break; - case 12: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.videointelligence.v1.TextAnnotation.decode(reader, reader.uint32())); - break; - case 14: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); - break; - case 19: - if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) - message.logoRecognitionAnnotations = []; - message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); - break; - case 20: - if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) - message.personDetectionAnnotations = []; - message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.decode(reader, reader.uint32())); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 10: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 23: { + if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) + message.segmentPresenceLabelAnnotations = []; + message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 24: { + if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) + message.shotPresenceLabelAnnotations = []; + message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 13: { + if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) + message.faceDetectionAnnotations = []; + message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 7: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 11: { + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1.SpeechTranscription.decode(reader, reader.uint32())); + break; + } + case 12: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1.TextAnnotation.decode(reader, reader.uint32())); + break; + } + case 14: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + } + case 19: { + if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) + message.logoRecognitionAnnotations = []; + message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); + break; + } + case 20: { + if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) + message.personDetectionAnnotations = []; + message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.decode(reader, reader.uint32())); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -7646,6 +8131,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoAnnotationResults"; + }; + return VideoAnnotationResults; })(); @@ -7743,11 +8243,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1.VideoAnnotationResults.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -7854,6 +8355,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoResponse"; + }; + return AnnotateVideoResponse; })(); @@ -8004,24 +8520,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.feature = reader.int32(); - break; - case 6: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + message.progressPercent = reader.int32(); + break; + } + case 3: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 5: { + message.feature = reader.int32(); + break; + } + case 6: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -8220,6 +8742,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoAnnotationProgress"; + }; + return VideoAnnotationProgress; })(); @@ -8317,11 +8854,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -8428,6 +8966,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoProgress"; + }; + return AnnotateVideoProgress; })(); @@ -8618,42 +9171,51 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.maxAlternatives = reader.int32(); - break; - case 3: - message.filterProfanity = reader.bool(); - break; - case 4: - if (!(message.speechContexts && message.speechContexts.length)) - message.speechContexts = []; - message.speechContexts.push($root.google.cloud.videointelligence.v1.SpeechContext.decode(reader, reader.uint32())); - break; - case 5: - message.enableAutomaticPunctuation = reader.bool(); - break; - case 6: - if (!(message.audioTracks && message.audioTracks.length)) - message.audioTracks = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.maxAlternatives = reader.int32(); + break; + } + case 3: { + message.filterProfanity = reader.bool(); + break; + } + case 4: { + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1.SpeechContext.decode(reader, reader.uint32())); + break; + } + case 5: { + message.enableAutomaticPunctuation = reader.bool(); + break; + } + case 6: { + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else message.audioTracks.push(reader.int32()); - } else - message.audioTracks.push(reader.int32()); - break; - case 7: - message.enableSpeakerDiarization = reader.bool(); - break; - case 8: - message.diarizationSpeakerCount = reader.int32(); - break; - case 9: - message.enableWordConfidence = reader.bool(); - break; + break; + } + case 7: { + message.enableSpeakerDiarization = reader.bool(); + break; + } + case 8: { + message.diarizationSpeakerCount = reader.int32(); + break; + } + case 9: { + message.enableWordConfidence = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -8839,6 +9401,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscriptionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscriptionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechTranscriptionConfig"; + }; + return SpeechTranscriptionConfig; })(); @@ -8936,11 +9513,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.phrases && message.phrases.length)) - message.phrases = []; - message.phrases.push(reader.string()); - break; + case 1: { + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -9042,6 +9620,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.SpeechContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechContext"; + }; + return SpeechContext; })(); @@ -9150,14 +9743,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.alternatives && message.alternatives.length)) - message.alternatives = []; - message.alternatives.push($root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -9273,6 +9868,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscription + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.SpeechTranscription + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscription.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechTranscription"; + }; + return SpeechTranscription; })(); @@ -9392,17 +10002,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.transcript = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.videointelligence.v1.WordInfo.decode(reader, reader.uint32())); - break; + case 1: { + message.transcript = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1.WordInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -9527,6 +10140,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechRecognitionAlternative + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechRecognitionAlternative.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechRecognitionAlternative"; + }; + return SpeechRecognitionAlternative; })(); @@ -9666,21 +10294,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - message.word = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; - case 5: - message.speakerTag = reader.int32(); - break; + case 1: { + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 3: { + message.word = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } + case 5: { + message.speakerTag = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -9813,6 +10446,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WordInfo + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.WordInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WordInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.WordInfo"; + }; + return WordInfo; })(); @@ -9919,12 +10567,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; @@ -10023,6 +10673,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -10120,11 +10785,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.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -10231,6 +10897,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingPoly + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.NormalizedBoundingPoly"; + }; + return NormalizedBoundingPoly; })(); @@ -10350,17 +11031,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1.TextFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.TextFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -10490,6 +11174,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.TextSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextSegment"; + }; + return TextSegment; })(); @@ -10596,12 +11295,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -10710,6 +11411,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.TextFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextFrame"; + }; + return TextFrame; })(); @@ -10829,17 +11545,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.text = reader.string(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1.TextSegment.decode(reader, reader.uint32())); - break; - case 3: - message.version = reader.string(); - break; + case 1: { + message.text = reader.string(); + break; + } + case 2: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.TextSegment.decode(reader, reader.uint32())); + break; + } + case 3: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10964,6 +11683,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1.TextAnnotation"; + }; + return TextAnnotation; })(); @@ -11070,12 +11804,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -11184,6 +11920,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ObjectTrackingFrame"; + }; + return ObjectTrackingFrame; })(); @@ -11350,26 +12101,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); - break; - case 5: - message.trackId = reader.int64(); - break; - case 1: - message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); - break; - case 4: - message.confidence = reader.float(); - break; - case 2: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1.ObjectTrackingFrame.decode(reader, reader.uint32())); - break; - case 6: - message.version = reader.string(); - break; + case 3: { + message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 5: { + message.trackId = reader.int64(); + break; + } + case 1: { + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } + case 2: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + } + case 6: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11550,6 +12307,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.ObjectTrackingAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.ObjectTrackingAnnotation"; + }; + return ObjectTrackingAnnotation; })(); @@ -11671,19 +12443,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -11830,6 +12605,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LogoRecognitionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1.LogoRecognitionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LogoRecognitionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1.LogoRecognitionAnnotation"; + }; + return LogoRecognitionAnnotation; })(); @@ -11878,7 +12668,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService|annotateVideo}. * @memberof google.cloud.videointelligence.v1beta2.VideoIntelligenceService * @typedef AnnotateVideoCallback * @type {function} @@ -12065,31 +12855,37 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.bytes(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputUri = reader.string(); + break; + } + case 6: { + message.inputContent = reader.bytes(); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; + break; + } + case 3: { + message.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputUri = reader.string(); + break; + } + case 5: { + message.locationId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -12177,7 +12973,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; if (object.features) { if (!Array.isArray(object.features)) @@ -12277,6 +13073,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.AnnotateVideoRequest"; + }; + return AnnotateVideoRequest; })(); @@ -12418,23 +13229,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 5: - message.faceDetectionConfig = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 5: { + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1beta2.FaceDetectionConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -12595,6 +13411,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.VideoContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.VideoContext"; + }; + return VideoContext; })(); @@ -12712,15 +13543,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.labelDetectionMode = reader.int32(); - break; - case 2: - message.stationaryCamera = reader.bool(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.labelDetectionMode = reader.int32(); + break; + } + case 2: { + message.stationaryCamera = reader.bool(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -12850,6 +13684,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.LabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.LabelDetectionConfig"; + }; + return LabelDetectionConfig; })(); @@ -12945,9 +13794,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -13037,6 +13887,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig"; + }; + return ShotChangeDetectionConfig; })(); @@ -13132,9 +13997,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -13224,6 +14090,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig"; + }; + return ExplicitContentDetectionConfig; })(); @@ -13330,12 +14211,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; - case 2: - message.includeBoundingBoxes = reader.bool(); - break; + case 1: { + message.model = reader.string(); + break; + } + case 2: { + message.includeBoundingBoxes = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -13434,6 +14317,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.FaceDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.FaceDetectionConfig"; + }; + return FaceDetectionConfig; })(); @@ -13540,12 +14438,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -13654,6 +14554,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.VideoSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.VideoSegment"; + }; + return VideoSegment; })(); @@ -13760,12 +14675,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -13869,6 +14786,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.LabelSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.LabelSegment"; + }; + return LabelSegment; })(); @@ -13975,12 +14907,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -14084,6 +15018,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.LabelFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.LabelFrame"; + }; + return LabelFrame; })(); @@ -14201,15 +15150,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -14316,6 +15268,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Entity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.Entity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.Entity"; + }; + return Entity; })(); @@ -14450,24 +15417,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1beta2.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1beta2.LabelFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1beta2.Entity.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.LabelSegment.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.LabelFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -14639,6 +15610,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.LabelAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.LabelAnnotation"; + }; + return LabelAnnotation; })(); @@ -14745,12 +15731,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.pornographyLikelihood = reader.int32(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pornographyLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -14887,6 +15875,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.ExplicitContentFrame"; + }; + return ExplicitContentFrame; })(); @@ -14984,11 +15987,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -15095,6 +16099,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation"; + }; + return ExplicitContentAnnotation; })(); @@ -15223,18 +16242,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.left = reader.float(); - break; - case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); - break; + case 1: { + message.left = reader.float(); + break; + } + case 2: { + message.top = reader.float(); + break; + } + case 3: { + message.right = reader.float(); + break; + } + case 4: { + message.bottom = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -15349,6 +16372,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingBox + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.NormalizedBoundingBox + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingBox.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.NormalizedBoundingBox"; + }; + return NormalizedBoundingBox; })(); @@ -15444,9 +16482,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -15541,6 +16580,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.FaceSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.FaceSegment"; + }; + return FaceSegment; })(); @@ -15649,14 +16703,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) - message.normalizedBoundingBoxes = []; - message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.decode(reader, reader.uint32())); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length)) + message.normalizedBoundingBoxes = []; + message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.decode(reader, reader.uint32())); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -15777,6 +16833,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.FaceFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.FaceFrame"; + }; + return FaceFrame; })(); @@ -15898,19 +16969,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.thumbnail = reader.bytes(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1beta2.FaceSegment.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1beta2.FaceFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.thumbnail = reader.bytes(); + break; + } + case 2: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1beta2.FaceSegment.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1beta2.FaceFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -15985,7 +17059,7 @@ if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); - else if (object.thumbnail.length) + else if (object.thumbnail.length >= 0) message.thumbnail = object.thumbnail; if (object.segments) { if (!Array.isArray(object.segments)) @@ -16061,6 +17135,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.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.videointelligence.v1beta2.FaceAnnotation"; + }; + return FaceAnnotation; })(); @@ -16243,40 +17332,48 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.videointelligence.v1beta2.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1beta2.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.videointelligence.v1beta2.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1beta2.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 7: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -16520,6 +17617,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.VideoAnnotationResults"; + }; + return VideoAnnotationResults; })(); @@ -16617,11 +17729,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -16728,6 +17841,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.AnnotateVideoResponse"; + }; + return AnnotateVideoResponse; })(); @@ -16856,18 +17984,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + message.progressPercent = reader.int32(); + break; + } + case 3: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -16992,6 +18124,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.VideoAnnotationProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.VideoAnnotationProgress"; + }; + return VideoAnnotationProgress; })(); @@ -17089,11 +18236,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -17200,6 +18348,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1beta2.AnnotateVideoProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1beta2.AnnotateVideoProgress"; + }; + return AnnotateVideoProgress; })(); @@ -17308,7 +18471,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService|annotateVideo}. * @memberof google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService * @typedef AnnotateVideoCallback * @type {function} @@ -17495,31 +18658,37 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.bytes(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputUri = reader.string(); + break; + } + case 6: { + message.inputContent = reader.bytes(); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; + break; + } + case 3: { + message.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputUri = reader.string(); + break; + } + case 5: { + message.locationId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -17607,7 +18776,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; if (object.features) { if (!Array.isArray(object.features)) @@ -17707,6 +18876,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest"; + }; + return AnnotateVideoRequest; })(); @@ -17848,23 +19032,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 6: - message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 6: { + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -18025,6 +19214,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.VideoContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.VideoContext"; + }; + return VideoContext; })(); @@ -18142,15 +19346,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.labelDetectionMode = reader.int32(); - break; - case 2: - message.stationaryCamera = reader.bool(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.labelDetectionMode = reader.int32(); + break; + } + case 2: { + message.stationaryCamera = reader.bool(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18280,6 +19487,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig"; + }; + return LabelDetectionConfig; })(); @@ -18375,9 +19597,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18467,6 +19690,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig"; + }; + return ShotChangeDetectionConfig; })(); @@ -18562,9 +19800,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18654,6 +19893,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig"; + }; + return ExplicitContentDetectionConfig; })(); @@ -18760,12 +20014,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -18874,6 +20130,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.VideoSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.VideoSegment"; + }; + return VideoSegment; })(); @@ -18980,12 +20251,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -19089,6 +20362,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.LabelSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.LabelSegment"; + }; + return LabelSegment; })(); @@ -19195,12 +20483,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -19304,6 +20594,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.LabelFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.LabelFrame"; + }; + return LabelFrame; })(); @@ -19421,15 +20726,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19536,6 +20844,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Entity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.Entity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.Entity"; + }; + return Entity; })(); @@ -19670,24 +20993,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p1beta1.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p1beta1.LabelFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p1beta1.Entity.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p1beta1.LabelSegment.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p1beta1.LabelFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -19859,6 +21186,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.LabelAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.LabelAnnotation"; + }; + return LabelAnnotation; })(); @@ -19965,12 +21307,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.pornographyLikelihood = reader.int32(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pornographyLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -20107,6 +21451,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame"; + }; + return ExplicitContentFrame; })(); @@ -20204,11 +21563,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -20315,6 +21675,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation"; + }; + return ExplicitContentAnnotation; })(); @@ -20497,40 +21872,48 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 11: - if (!(message.speechTranscriptions && message.speechTranscriptions.length)) - message.speechTranscriptions = []; - message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.decode(reader, reader.uint32())); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p1beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 7: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 11: { + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p1beta1.SpeechTranscription.decode(reader, reader.uint32())); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -20774,6 +22157,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults"; + }; + return VideoAnnotationResults; })(); @@ -20871,11 +22269,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -20982,6 +22381,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse"; + }; + return AnnotateVideoResponse; })(); @@ -21110,18 +22524,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + message.progressPercent = reader.int32(); + break; + } + case 3: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -21246,6 +22664,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress"; + }; + return VideoAnnotationProgress; })(); @@ -21343,11 +22776,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -21454,6 +22888,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress"; + }; + return AnnotateVideoProgress; })(); @@ -21611,33 +23060,39 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.maxAlternatives = reader.int32(); - break; - case 3: - message.filterProfanity = reader.bool(); - break; - case 4: - if (!(message.speechContexts && message.speechContexts.length)) - message.speechContexts = []; - message.speechContexts.push($root.google.cloud.videointelligence.v1p1beta1.SpeechContext.decode(reader, reader.uint32())); - break; - case 5: - message.enableAutomaticPunctuation = reader.bool(); - break; - case 6: - if (!(message.audioTracks && message.audioTracks.length)) - message.audioTracks = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.maxAlternatives = reader.int32(); + break; + } + case 3: { + message.filterProfanity = reader.bool(); + break; + } + case 4: { + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1p1beta1.SpeechContext.decode(reader, reader.uint32())); + break; + } + case 5: { + message.enableAutomaticPunctuation = reader.bool(); + break; + } + case 6: { + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else message.audioTracks.push(reader.int32()); - } else - message.audioTracks.push(reader.int32()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -21799,6 +23254,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscriptionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscriptionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig"; + }; + return SpeechTranscriptionConfig; })(); @@ -21896,11 +23366,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.phrases && message.phrases.length)) - message.phrases = []; - message.phrases.push(reader.string()); - break; + case 1: { + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -22002,6 +23473,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.SpeechContext"; + }; + return SpeechContext; })(); @@ -22099,11 +23585,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.alternatives && message.alternatives.length)) - message.alternatives = []; - message.alternatives.push($root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -22210,6 +23697,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscription + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechTranscription + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscription.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.SpeechTranscription"; + }; + return SpeechTranscription; })(); @@ -22329,17 +23831,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.transcript = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.videointelligence.v1p1beta1.WordInfo.decode(reader, reader.uint32())); - break; + case 1: { + message.transcript = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1p1beta1.WordInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -22464,6 +23969,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechRecognitionAlternative + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechRecognitionAlternative.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative"; + }; + return SpeechRecognitionAlternative; })(); @@ -22581,15 +24101,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - message.word = reader.string(); - break; + case 1: { + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 3: { + message.word = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -22706,6 +24229,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WordInfo + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p1beta1.WordInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WordInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p1beta1.WordInfo"; + }; + return WordInfo; })(); @@ -22814,7 +24352,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService|annotateVideo}. * @memberof google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService * @typedef AnnotateVideoCallback * @type {function} @@ -23001,31 +24539,37 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.bytes(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputUri = reader.string(); + break; + } + case 6: { + message.inputContent = reader.bytes(); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; + break; + } + case 3: { + message.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputUri = reader.string(); + break; + } + case 5: { + message.locationId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -23114,7 +24658,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; if (object.features) { if (!Array.isArray(object.features)) @@ -23218,6 +24762,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest"; + }; + return AnnotateVideoRequest; })(); @@ -23359,23 +24918,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 8: - message.textDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 8: { + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -23536,6 +25100,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.VideoContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.VideoContext"; + }; + return VideoContext; })(); @@ -23653,15 +25232,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.labelDetectionMode = reader.int32(); - break; - case 2: - message.stationaryCamera = reader.bool(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.labelDetectionMode = reader.int32(); + break; + } + case 2: { + message.stationaryCamera = reader.bool(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -23791,6 +25373,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig"; + }; + return LabelDetectionConfig; })(); @@ -23886,9 +25483,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -23978,6 +25576,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig"; + }; + return ShotChangeDetectionConfig; })(); @@ -24073,9 +25686,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -24165,6 +25779,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig"; + }; + return ExplicitContentDetectionConfig; })(); @@ -24262,11 +25891,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; + case 1: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -24368,6 +25998,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.TextDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.TextDetectionConfig"; + }; + return TextDetectionConfig; })(); @@ -24474,12 +26119,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -24588,6 +26235,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.VideoSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.VideoSegment"; + }; + return VideoSegment; })(); @@ -24694,12 +26356,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -24803,6 +26467,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.LabelSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.LabelSegment"; + }; + return LabelSegment; })(); @@ -24909,12 +26588,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -25018,6 +26699,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.LabelFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.LabelFrame"; + }; + return LabelFrame; })(); @@ -25135,15 +26831,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -25250,6 +26949,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Entity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.Entity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.Entity"; + }; + return Entity; })(); @@ -25384,24 +27098,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p2beta1.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p2beta1.LabelFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.LabelSegment.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.LabelFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -25573,6 +27291,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.LabelAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.LabelAnnotation"; + }; + return LabelAnnotation; })(); @@ -25679,12 +27412,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.pornographyLikelihood = reader.int32(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pornographyLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -25821,6 +27556,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame"; + }; + return ExplicitContentFrame; })(); @@ -25918,11 +27668,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -26029,6 +27780,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation"; + }; + return ExplicitContentAnnotation; })(); @@ -26157,18 +27923,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.left = reader.float(); - break; - case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); - break; + case 1: { + message.left = reader.float(); + break; + } + case 2: { + message.top = reader.float(); + break; + } + case 3: { + message.right = reader.float(); + break; + } + case 4: { + message.bottom = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -26283,6 +28053,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingBox + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingBox.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox"; + }; + return NormalizedBoundingBox; })(); @@ -26478,45 +28263,54 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 12: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.decode(reader, reader.uint32())); - break; - case 14: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 7: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 12: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.TextAnnotation.decode(reader, reader.uint32())); + break; + } + case 14: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -26785,6 +28579,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults"; + }; + return VideoAnnotationResults; })(); @@ -26882,11 +28691,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -26993,6 +28803,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse"; + }; + return AnnotateVideoResponse; })(); @@ -27121,18 +28946,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + message.progressPercent = reader.int32(); + break; + } + case 3: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -27257,6 +29086,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress"; + }; + return VideoAnnotationProgress; })(); @@ -27354,11 +29198,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -27465,6 +29310,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress"; + }; + return AnnotateVideoProgress; })(); @@ -27571,12 +29431,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; @@ -27675,6 +29537,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1p2beta1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -27772,11 +29649,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.videointelligence.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.videointelligence.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -27883,6 +29761,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingPoly + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly"; + }; + return NormalizedBoundingPoly; })(); @@ -28002,17 +29895,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p2beta1.TextFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.TextFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -28142,6 +30038,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.TextSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.TextSegment"; + }; + return TextSegment; })(); @@ -28248,12 +30159,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -28362,6 +30275,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.TextFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.TextFrame"; + }; + return TextFrame; })(); @@ -28470,14 +30398,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.text = reader.string(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p2beta1.TextSegment.decode(reader, reader.uint32())); - break; + case 1: { + message.text = reader.string(); + break; + } + case 2: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p2beta1.TextSegment.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -28593,6 +30523,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1p2beta1.TextAnnotation"; + }; + return TextAnnotation; })(); @@ -28699,12 +30644,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -28813,6 +30760,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame"; + }; + return ObjectTrackingFrame; })(); @@ -28968,23 +30930,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 5: - message.trackId = reader.int64(); - break; - case 1: - message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); - break; - case 4: - message.confidence = reader.float(); - break; - case 2: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); - break; + case 3: { + message.segment = $root.google.cloud.videointelligence.v1p2beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 5: { + message.trackId = reader.int64(); + break; + } + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p2beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } + case 2: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -29157,6 +31124,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation"; + }; + return ObjectTrackingAnnotation; })(); @@ -29267,7 +31249,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService#annotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService|annotateVideo}. * @memberof google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService * @typedef AnnotateVideoCallback * @type {function} @@ -29335,7 +31317,7 @@ }; /** - * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService#streamingAnnotateVideo}. + * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService|streamingAnnotateVideo}. * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService * @typedef StreamingAnnotateVideoCallback * @type {function} @@ -29522,31 +31504,37 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 6: - message.inputContent = reader.bytes(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputUri = reader.string(); + break; + } + case 6: { + message.inputContent = reader.bytes(); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.features.push(reader.int32()); + } else message.features.push(reader.int32()); - } else - message.features.push(reader.int32()); - break; - case 3: - message.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputUri = reader.string(); - break; - case 5: - message.locationId = reader.string(); - break; + break; + } + case 3: { + message.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputUri = reader.string(); + break; + } + case 5: { + message.locationId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -29640,7 +31628,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; if (object.features) { if (!Array.isArray(object.features)) @@ -29764,6 +31752,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest"; + }; + return AnnotateVideoRequest; })(); @@ -29949,35 +31952,44 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 5: - message.faceDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.decode(reader, reader.uint32()); - break; - case 6: - message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); - break; - case 8: - message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.decode(reader, reader.uint32()); - break; - case 11: - message.personDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.decode(reader, reader.uint32()); - break; - case 13: - message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 5: { + message.faceDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 6: { + message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.decode(reader, reader.uint32()); + break; + } + case 8: { + message.textDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 11: { + message.personDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 13: { + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -30190,6 +32202,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.VideoContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.VideoContext"; + }; + return VideoContext; })(); @@ -30369,21 +32396,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.labelDetectionMode = reader.int32(); - break; - case 2: - message.stationaryCamera = reader.bool(); - break; - case 3: - message.model = reader.string(); - break; - case 4: - message.frameConfidenceThreshold = reader.float(); - break; - case 5: - message.videoConfidenceThreshold = reader.float(); - break; + case 1: { + message.labelDetectionMode = reader.int32(); + break; + } + case 2: { + message.stationaryCamera = reader.bool(); + break; + } + case 3: { + message.model = reader.string(); + break; + } + case 4: { + message.frameConfidenceThreshold = reader.float(); + break; + } + case 5: { + message.videoConfidenceThreshold = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -30529,6 +32561,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig"; + }; + return LabelDetectionConfig; })(); @@ -30682,9 +32729,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -30774,6 +32822,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig"; + }; + return ShotChangeDetectionConfig; })(); @@ -30869,9 +32932,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -30961,6 +33025,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig"; + }; + return ObjectTrackingConfig; })(); @@ -31056,9 +33135,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; + case 1: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -31148,6 +33228,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig"; + }; + return ExplicitContentDetectionConfig; })(); @@ -31265,15 +33360,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.model = reader.string(); - break; - case 2: - message.includeBoundingBoxes = reader.bool(); - break; - case 5: - message.includeAttributes = reader.bool(); - break; + case 1: { + message.model = reader.string(); + break; + } + case 2: { + message.includeBoundingBoxes = reader.bool(); + break; + } + case 5: { + message.includeAttributes = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -31380,6 +33478,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig"; + }; + return FaceDetectionConfig; })(); @@ -31497,15 +33610,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.includeBoundingBoxes = reader.bool(); - break; - case 2: - message.includePoseLandmarks = reader.bool(); - break; - case 3: - message.includeAttributes = reader.bool(); - break; + case 1: { + message.includeBoundingBoxes = reader.bool(); + break; + } + case 2: { + message.includePoseLandmarks = reader.bool(); + break; + } + case 3: { + message.includeAttributes = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -31612,6 +33728,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PersonDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PersonDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig"; + }; + return PersonDetectionConfig; })(); @@ -31720,14 +33851,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 2: - message.model = reader.string(); - break; + case 1: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 2: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -31838,6 +33971,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.TextDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.TextDetectionConfig"; + }; + return TextDetectionConfig; })(); @@ -31944,12 +34092,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -32058,6 +34208,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.VideoSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.VideoSegment"; + }; + return VideoSegment; })(); @@ -32164,12 +34329,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -32273,6 +34440,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.LabelSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.LabelSegment"; + }; + return LabelSegment; })(); @@ -32379,12 +34561,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -32488,6 +34672,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.LabelFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.LabelFrame"; + }; + return LabelFrame; })(); @@ -32605,15 +34804,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.languageCode = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -32720,6 +34922,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Entity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.Entity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.Entity"; + }; + return Entity; })(); @@ -32854,24 +35071,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.categoryEntities && message.categoryEntities.length)) - message.categoryEntities = []; - message.categoryEntities.push($root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p3beta1.LabelSegment.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.LabelFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.categoryEntities && message.categoryEntities.length)) + message.categoryEntities = []; + message.categoryEntities.push($root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.LabelSegment.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.LabelFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -33043,6 +35264,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LabelAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.LabelAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.LabelAnnotation"; + }; + return LabelAnnotation; })(); @@ -33149,12 +35385,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.pornographyLikelihood = reader.int32(); - break; + case 1: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pornographyLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -33291,6 +35529,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame"; + }; + return ExplicitContentFrame; })(); @@ -33388,11 +35641,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -33499,6 +35753,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExplicitContentAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation"; + }; + return ExplicitContentAnnotation; })(); @@ -33627,18 +35896,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.left = reader.float(); - break; - case 2: - message.top = reader.float(); - break; - case 3: - message.right = reader.float(); - break; - case 4: - message.bottom = reader.float(); - break; + case 1: { + message.left = reader.float(); + break; + } + case 2: { + message.top = reader.float(); + break; + } + case 3: { + message.right = reader.float(); + break; + } + case 4: { + message.bottom = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -33753,6 +36026,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingBox + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingBox.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox"; + }; + return NormalizedBoundingBox; })(); @@ -33885,22 +36173,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.decode(reader, reader.uint32())); - break; + case 1: { + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.videointelligence.v1p3beta1.DetectedLandmark.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -34061,6 +36353,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TimestampedObject + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.TimestampedObject + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TimestampedObject.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.TimestampedObject"; + }; + return TimestampedObject; })(); @@ -34193,22 +36500,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.timestampedObjects && message.timestampedObjects.length)) - message.timestampedObjects = []; - message.timestampedObjects.push($root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.timestampedObjects && message.timestampedObjects.length)) + message.timestampedObjects = []; + message.timestampedObjects.push($root.google.cloud.videointelligence.v1p3beta1.TimestampedObject.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.google.cloud.videointelligence.v1p3beta1.DetectedAttribute.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -34364,6 +36675,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Track + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.Track + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Track.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.Track"; + }; + return Track; })(); @@ -34481,15 +36807,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.value = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -34596,6 +36925,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedAttribute + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedAttribute + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.DetectedAttribute"; + }; + return DetectedAttribute; })(); @@ -34713,15 +37057,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; @@ -34828,6 +37175,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Celebrity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.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.videointelligence.v1p3beta1.Celebrity"; + }; + return Celebrity; })(); @@ -34936,14 +37298,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.celebrities && message.celebrities.length)) - message.celebrities = []; - message.celebrities.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.decode(reader, reader.uint32())); - break; - case 3: - message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.celebrities && message.celebrities.length)) + message.celebrities = []; + message.celebrities.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.decode(reader, reader.uint32())); + break; + } + case 3: { + message.faceTrack = $root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -35064,6 +37428,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CelebrityTrack + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CelebrityTrack.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.CelebrityTrack"; + }; + CelebrityTrack.RecognizedCelebrity = (function() { /** @@ -35167,12 +37546,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.celebrity = $root.google.cloud.videointelligence.v1p3beta1.Celebrity.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -35276,6 +37657,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for RecognizedCelebrity + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RecognizedCelebrity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity"; + }; + return RecognizedCelebrity; })(); @@ -35376,11 +37772,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.celebrityTracks && message.celebrityTracks.length)) - message.celebrityTracks = []; - message.celebrityTracks.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.celebrityTracks && message.celebrityTracks.length)) + message.celebrityTracks = []; + message.celebrityTracks.push($root.google.cloud.videointelligence.v1p3beta1.CelebrityTrack.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -35487,6 +37884,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CelebrityRecognitionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CelebrityRecognitionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation"; + }; + return CelebrityRecognitionAnnotation; })(); @@ -35604,15 +38016,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.point = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32()); - break; - case 3: - message.confidence = reader.float(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.point = $root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32()); + break; + } + case 3: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -35724,6 +38139,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLandmark + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.DetectedLandmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLandmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.DetectedLandmark"; + }; + return DetectedLandmark; })(); @@ -35832,14 +38262,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); - break; - case 4: - message.thumbnail = reader.bytes(); - break; + case 3: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); + break; + } + case 4: { + message.thumbnail = reader.bytes(); + break; + } default: reader.skipType(tag & 7); break; @@ -35915,7 +38347,7 @@ if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); - else if (object.thumbnail.length) + else if (object.thumbnail.length >= 0) message.thumbnail = object.thumbnail; return message; }; @@ -35964,6 +38396,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceDetectionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation"; + }; + return FaceDetectionAnnotation; })(); @@ -36061,11 +38508,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -36172,6 +38620,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PersonDetectionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PersonDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation"; + }; + return PersonDetectionAnnotation; })(); @@ -36467,81 +38930,98 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 10: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) - message.segmentLabelAnnotations = []; - message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 23: - if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) - message.segmentPresenceLabelAnnotations = []; - message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) - message.shotLabelAnnotations = []; - message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 24: - if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) - message.shotPresenceLabelAnnotations = []; - message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) - message.frameLabelAnnotations = []; - message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 13: - if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) - message.faceDetectionAnnotations = []; - message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 7: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 11: - if (!(message.speechTranscriptions && message.speechTranscriptions.length)) - message.speechTranscriptions = []; - message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.decode(reader, reader.uint32())); - break; - case 12: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.decode(reader, reader.uint32())); - break; - case 14: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); - break; - case 19: - if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) - message.logoRecognitionAnnotations = []; - message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); - break; - case 20: - if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) - message.personDetectionAnnotations = []; - message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.decode(reader, reader.uint32())); - break; - case 21: - message.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 10: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length)) + message.segmentLabelAnnotations = []; + message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 23: { + if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length)) + message.segmentPresenceLabelAnnotations = []; + message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length)) + message.shotLabelAnnotations = []; + message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 24: { + if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length)) + message.shotPresenceLabelAnnotations = []; + message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length)) + message.frameLabelAnnotations = []; + message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 13: { + if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length)) + message.faceDetectionAnnotations = []; + message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 7: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 11: { + if (!(message.speechTranscriptions && message.speechTranscriptions.length)) + message.speechTranscriptions = []; + message.speechTranscriptions.push($root.google.cloud.videointelligence.v1p3beta1.SpeechTranscription.decode(reader, reader.uint32())); + break; + } + case 12: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.TextAnnotation.decode(reader, reader.uint32())); + break; + } + case 14: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + } + case 19: { + if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length)) + message.logoRecognitionAnnotations = []; + message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.decode(reader, reader.uint32())); + break; + } + case 20: { + if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length)) + message.personDetectionAnnotations = []; + message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.decode(reader, reader.uint32())); + break; + } + case 21: { + message.celebrityRecognitionAnnotations = $root.google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -36986,6 +39466,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults"; + }; + return VideoAnnotationResults; })(); @@ -37083,11 +39578,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationResults && message.annotationResults.length)) - message.annotationResults = []; - message.annotationResults.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationResults && message.annotationResults.length)) + message.annotationResults = []; + message.annotationResults.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -37194,6 +39690,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse"; + }; + return AnnotateVideoResponse; })(); @@ -37344,24 +39855,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputUri = reader.string(); - break; - case 2: - message.progressPercent = reader.int32(); - break; - case 3: - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.feature = reader.int32(); - break; - case 6: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; + case 1: { + message.inputUri = reader.string(); + break; + } + case 2: { + message.progressPercent = reader.int32(); + break; + } + case 3: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 5: { + message.feature = reader.int32(); + break; + } + case 6: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -37565,6 +40082,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for VideoAnnotationProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress"; + }; + return VideoAnnotationProgress; })(); @@ -37662,11 +40194,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotationProgress && message.annotationProgress.length)) - message.annotationProgress = []; - message.annotationProgress.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotationProgress && message.annotationProgress.length)) + message.annotationProgress = []; + message.annotationProgress.push($root.google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -37773,6 +40306,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateVideoProgress + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress"; + }; + return AnnotateVideoProgress; })(); @@ -37963,42 +40511,51 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.maxAlternatives = reader.int32(); - break; - case 3: - message.filterProfanity = reader.bool(); - break; - case 4: - if (!(message.speechContexts && message.speechContexts.length)) - message.speechContexts = []; - message.speechContexts.push($root.google.cloud.videointelligence.v1p3beta1.SpeechContext.decode(reader, reader.uint32())); - break; - case 5: - message.enableAutomaticPunctuation = reader.bool(); - break; - case 6: - if (!(message.audioTracks && message.audioTracks.length)) - message.audioTracks = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.maxAlternatives = reader.int32(); + break; + } + case 3: { + message.filterProfanity = reader.bool(); + break; + } + case 4: { + if (!(message.speechContexts && message.speechContexts.length)) + message.speechContexts = []; + message.speechContexts.push($root.google.cloud.videointelligence.v1p3beta1.SpeechContext.decode(reader, reader.uint32())); + break; + } + case 5: { + message.enableAutomaticPunctuation = reader.bool(); + break; + } + case 6: { + if (!(message.audioTracks && message.audioTracks.length)) + message.audioTracks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.audioTracks.push(reader.int32()); + } else message.audioTracks.push(reader.int32()); - } else - message.audioTracks.push(reader.int32()); - break; - case 7: - message.enableSpeakerDiarization = reader.bool(); - break; - case 8: - message.diarizationSpeakerCount = reader.int32(); - break; - case 9: - message.enableWordConfidence = reader.bool(); - break; + break; + } + case 7: { + message.enableSpeakerDiarization = reader.bool(); + break; + } + case 8: { + message.diarizationSpeakerCount = reader.int32(); + break; + } + case 9: { + message.enableWordConfidence = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -38184,6 +40741,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscriptionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscriptionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig"; + }; + return SpeechTranscriptionConfig; })(); @@ -38281,11 +40853,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.phrases && message.phrases.length)) - message.phrases = []; - message.phrases.push(reader.string()); - break; + case 1: { + if (!(message.phrases && message.phrases.length)) + message.phrases = []; + message.phrases.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -38387,6 +40960,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechContext + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.SpeechContext"; + }; + return SpeechContext; })(); @@ -38495,14 +41083,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.alternatives && message.alternatives.length)) - message.alternatives = []; - message.alternatives.push($root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + if (!(message.alternatives && message.alternatives.length)) + message.alternatives = []; + message.alternatives.push($root.google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.decode(reader, reader.uint32())); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -38618,6 +41208,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechTranscription + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechTranscription + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechTranscription.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.SpeechTranscription"; + }; + return SpeechTranscription; })(); @@ -38737,17 +41342,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.transcript = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.videointelligence.v1p3beta1.WordInfo.decode(reader, reader.uint32())); - break; + case 1: { + message.transcript = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.videointelligence.v1p3beta1.WordInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -38872,6 +41480,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SpeechRecognitionAlternative + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SpeechRecognitionAlternative.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative"; + }; + return SpeechRecognitionAlternative; })(); @@ -39011,21 +41634,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - message.word = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; - case 5: - message.speakerTag = reader.int32(); - break; + case 1: { + message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 3: { + message.word = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } + case 5: { + message.speakerTag = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -39158,6 +41786,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WordInfo + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.WordInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WordInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.WordInfo"; + }; + return WordInfo; })(); @@ -39264,12 +41907,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; @@ -39368,6 +42013,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1p3beta1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -39465,11 +42125,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.videointelligence.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.videointelligence.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -39576,6 +42237,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedBoundingPoly + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedBoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly"; + }; + return NormalizedBoundingPoly; })(); @@ -39695,17 +42371,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.TextFrame.decode(reader, reader.uint32())); - break; + case 1: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.TextFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -39835,6 +42514,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextSegment + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.TextSegment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.TextSegment"; + }; + return TextSegment; })(); @@ -39941,12 +42635,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -40055,6 +42751,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.TextFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.TextFrame"; + }; + return TextFrame; })(); @@ -40163,14 +42874,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.text = reader.string(); - break; - case 2: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p3beta1.TextSegment.decode(reader, reader.uint32())); - break; + case 1: { + message.text = reader.string(); + break; + } + case 2: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.TextSegment.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -40286,6 +42999,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.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.videointelligence.v1p3beta1.TextAnnotation"; + }; + return TextAnnotation; })(); @@ -40392,12 +43120,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); - break; - case 2: - message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.decode(reader, reader.uint32()); + break; + } + case 2: { + message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -40506,6 +43236,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingFrame + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame"; + }; + return ObjectTrackingFrame; })(); @@ -40661,23 +43406,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); - break; - case 5: - message.trackId = reader.int64(); - break; - case 1: - message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); - break; - case 4: - message.confidence = reader.float(); - break; - case 2: - if (!(message.frames && message.frames.length)) - message.frames = []; - message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); - break; + case 3: { + message.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32()); + break; + } + case 5: { + message.trackId = reader.int64(); + break; + } + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } + case 2: { + if (!(message.frames && message.frames.length)) + message.frames = []; + message.frames.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -40850,6 +43600,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectTrackingAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectTrackingAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation"; + }; + return ObjectTrackingAnnotation; })(); @@ -40971,19 +43736,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.tracks && message.tracks.length)) - message.tracks = []; - message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.segments && message.segments.length)) - message.segments = []; - message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; + case 1: { + message.entity = $root.google.cloud.videointelligence.v1p3beta1.Entity.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.tracks && message.tracks.length)) + message.tracks = []; + message.tracks.push($root.google.cloud.videointelligence.v1p3beta1.Track.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.segments && message.segments.length)) + message.segments = []; + message.segments.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -41130,6 +43898,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LogoRecognitionAnnotation + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LogoRecognitionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation"; + }; + return LogoRecognitionAnnotation; })(); @@ -41250,12 +44033,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.videoConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.decode(reader, reader.uint32()); - break; - case 2: - message.inputContent = reader.bytes(); - break; + case 1: { + message.videoConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + message.inputContent = reader.bytes(); + break; + } default: reader.skipType(tag & 7); break; @@ -41330,7 +44115,7 @@ if (object.inputContent != null) if (typeof object.inputContent === "string") $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0); - else if (object.inputContent.length) + else if (object.inputContent.length >= 0) message.inputContent = object.inputContent; return message; }; @@ -41372,6 +44157,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingAnnotateVideoRequest + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingAnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest"; + }; + return StreamingAnnotateVideoRequest; })(); @@ -41569,33 +44369,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.decode(reader, reader.uint32()); - break; - case 3: - message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.decode(reader, reader.uint32()); - break; - case 4: - message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.decode(reader, reader.uint32()); - break; - case 5: - message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.decode(reader, reader.uint32()); - break; - case 23: - message.automlActionRecognitionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.decode(reader, reader.uint32()); - break; - case 21: - message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.decode(reader, reader.uint32()); - break; - case 22: - message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.decode(reader, reader.uint32()); - break; - case 1: - message.feature = reader.int32(); - break; - case 30: - message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.decode(reader, reader.uint32()); - break; + case 2: { + message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.labelDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.decode(reader, reader.uint32()); + break; + } + case 5: { + message.objectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.decode(reader, reader.uint32()); + break; + } + case 23: { + message.automlActionRecognitionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.decode(reader, reader.uint32()); + break; + } + case 21: { + message.automlClassificationConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.decode(reader, reader.uint32()); + break; + } + case 22: { + message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.decode(reader, reader.uint32()); + break; + } + case 1: { + message.feature = reader.int32(); + break; + } + case 30: { + message.storageConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -41881,6 +44690,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingVideoConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingVideoConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig"; + }; + return StreamingVideoConfig; })(); @@ -41998,15 +44822,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 2: - message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.decode(reader, reader.uint32()); - break; - case 3: - message.annotationResultsUri = reader.string(); - break; + case 1: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 2: { + message.annotationResults = $root.google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.decode(reader, reader.uint32()); + break; + } + case 3: { + message.annotationResultsUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -42123,6 +44950,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingAnnotateVideoResponse + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingAnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse"; + }; + return StreamingAnnotateVideoResponse; })(); @@ -42257,24 +45099,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.shotAnnotations && message.shotAnnotations.length)) - message.shotAnnotations = []; - message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); - break; - case 3: - message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.shotAnnotations && message.shotAnnotations.length)) + message.shotAnnotations = []; + message.shotAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.VideoSegment.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.LabelAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + message.explicitAnnotation = $root.google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -42446,6 +45292,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingVideoAnnotationResults + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingVideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults"; + }; + return StreamingVideoAnnotationResults; })(); @@ -42606,6 +45467,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingShotChangeDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig"; + }; + return StreamingShotChangeDetectionConfig; })(); @@ -42701,9 +45577,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.stationaryCamera = reader.bool(); - break; + case 1: { + message.stationaryCamera = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -42793,6 +45670,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingLabelDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingLabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig"; + }; + return StreamingLabelDetectionConfig; })(); @@ -42953,6 +45845,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingExplicitContentDetectionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig"; + }; + return StreamingExplicitContentDetectionConfig; })(); @@ -43113,6 +46020,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingObjectTrackingConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingObjectTrackingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig"; + }; + return StreamingObjectTrackingConfig; })(); @@ -43208,9 +46130,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.modelName = reader.string(); - break; + case 1: { + message.modelName = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -43300,6 +46223,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingAutomlActionRecognitionConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingAutomlActionRecognitionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig"; + }; + return StreamingAutomlActionRecognitionConfig; })(); @@ -43395,9 +46333,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.modelName = reader.string(); - break; + case 1: { + message.modelName = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -43487,6 +46426,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingAutomlClassificationConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingAutomlClassificationConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig"; + }; + return StreamingAutomlClassificationConfig; })(); @@ -43582,9 +46536,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.modelName = reader.string(); - break; + case 1: { + message.modelName = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -43674,6 +46629,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingAutomlObjectTrackingConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingAutomlObjectTrackingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig"; + }; + return StreamingAutomlObjectTrackingConfig; })(); @@ -43780,12 +46750,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.enableStorageAnnotationResult = reader.bool(); - break; - case 3: - message.annotationResultStorageDirectory = reader.string(); - break; + case 1: { + message.enableStorageAnnotationResult = reader.bool(); + break; + } + case 3: { + message.annotationResultStorageDirectory = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -43884,6 +46856,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StreamingStorageConfig + * @function getTypeUrl + * @memberof google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StreamingStorageConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig"; + }; + return StreamingStorageConfig; })(); @@ -44010,14 +46997,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; @@ -44133,6 +47122,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; })(); @@ -44343,38 +47347,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; @@ -44596,6 +47610,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; })(); @@ -44702,12 +47731,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; @@ -44806,6 +47837,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; })(); @@ -44941,11 +47987,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; @@ -45052,6 +48099,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; })(); @@ -45073,6 +48135,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 */ /** @@ -45193,6 +48256,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 @@ -45248,6 +48319,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; }; @@ -45282,66 +48355,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; @@ -45453,6 +48542,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; }; @@ -45545,6 +48637,8 @@ } if (object.syntax != null) message.syntax = String(object.syntax); + if (object.edition != null) + message.edition = String(object.edition); return message; }; @@ -45576,6 +48670,7 @@ object.options = null; object.sourceCodeInfo = null; object.syntax = ""; + object.edition = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -45622,6 +48717,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; }; @@ -45636,6 +48733,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; })(); @@ -45846,52 +48958,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; @@ -46192,6 +49314,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() { /** @@ -46306,15 +49443,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; @@ -46426,6 +49566,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; })(); @@ -46532,12 +49687,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; @@ -46636,6 +49793,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; })(); @@ -46736,11 +49908,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; @@ -46847,6 +50020,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; })(); @@ -47052,39 +50240,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; @@ -47371,6 +50570,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 @@ -47539,12 +50753,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; @@ -47648,6 +50864,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; })(); @@ -47793,27 +51024,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; @@ -47989,6 +51225,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() { /** @@ -48092,12 +51343,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; @@ -48196,6 +51449,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; })(); @@ -48316,15 +51584,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; @@ -48436,6 +51707,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; })(); @@ -48555,17 +51841,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; @@ -48695,6 +51984,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; })(); @@ -48845,24 +52149,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; @@ -48998,6 +52308,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; })(); @@ -49315,71 +52640,92 @@ 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 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; @@ -49666,6 +53012,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 @@ -49823,23 +53184,28 @@ 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 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; + } default: reader.skipType(tag & 7); break; @@ -49980,6 +53346,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; })(); @@ -49993,6 +53374,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 @@ -50048,6 +53430,14 @@ */ FieldOptions.prototype.lazy = false; + /** + * FieldOptions unverifiedLazy. + * @member {boolean} unverifiedLazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.unverifiedLazy = false; + /** * FieldOptions deprecated. * @member {boolean} deprecated @@ -50116,6 +53506,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(); @@ -50159,39 +53551,51 @@ 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; + break; + } default: reader.skipType(tag & 7); break; @@ -50251,6 +53655,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"; @@ -50331,6 +53738,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) @@ -50413,6 +53822,7 @@ object.lazy = false; object.jstype = options.enums === String ? "JS_NORMAL" : 0; object.weak = false; + object.unverifiedLazy = false; } if (message.ctype != null && message.hasOwnProperty("ctype")) object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; @@ -50426,6 +53836,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) @@ -50450,6 +53862,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 @@ -50579,11 +54006,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; @@ -50690,6 +54118,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; })(); @@ -50809,17 +54252,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; @@ -50944,6 +54390,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; })(); @@ -51052,14 +54513,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; @@ -51175,6 +54638,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; })(); @@ -51305,20 +54783,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; @@ -51451,6 +54933,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; })(); @@ -51605,28 +55102,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; @@ -51816,6 +55319,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 @@ -51995,29 +55513,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; @@ -52130,7 +55655,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); @@ -52211,6 +55736,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() { /** @@ -52312,12 +55852,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; @@ -52418,6 +55960,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; })(); @@ -52518,11 +56075,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; @@ -52629,6 +56187,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() { /** @@ -52777,37 +56350,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; @@ -52968,6 +56546,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; })(); @@ -53068,11 +56661,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; @@ -53179,6 +56773,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() { /** @@ -53189,6 +56798,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 */ /** @@ -53239,6 +56849,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 @@ -53275,6 +56893,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; }; @@ -53309,25 +56929,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; @@ -53379,6 +57007,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; }; @@ -53407,6 +57044,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; }; @@ -53429,6 +57080,7 @@ object.sourceFile = ""; object.begin = 0; object.end = 0; + object.semantic = options.enums === String ? "NONE" : 0; } if (message.path && message.path.length) { object.path = []; @@ -53441,6 +57093,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; }; @@ -53455,6 +57109,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; })(); @@ -53564,12 +57249,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; @@ -53631,7 +57318,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; }; @@ -53677,6 +57364,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; })(); @@ -53783,12 +57485,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; @@ -53901,6 +57605,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; })(); @@ -54061,6 +57780,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; })(); @@ -54167,12 +57901,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; @@ -54285,6 +58021,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; })(); @@ -54333,7 +58084,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} @@ -54366,7 +58117,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} @@ -54399,7 +58150,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} @@ -54432,7 +58183,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} @@ -54465,7 +58216,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} @@ -54650,21 +58401,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; @@ -54815,6 +58571,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; })(); @@ -54910,9 +58681,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; @@ -55002,6 +58774,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; })(); @@ -55130,18 +58917,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; @@ -55256,6 +59047,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; })(); @@ -55364,14 +59170,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; @@ -55487,6 +59295,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; })(); @@ -55582,9 +59405,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; @@ -55674,6 +59498,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; })(); @@ -55769,9 +59608,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; @@ -55861,6 +59701,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; })(); @@ -55967,12 +59822,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; @@ -56076,6 +59933,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; })(); @@ -56182,12 +60054,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; @@ -56286,6 +60160,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; })(); @@ -56417,17 +60306,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; @@ -56552,6 +60444,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; })(); diff --git a/packages/google-cloud-videointelligence/protos/protos.json b/packages/google-cloud-videointelligence/protos/protos.json index a656c3b4018..4132bfd3f87 100644 --- a/packages/google-cloud-videointelligence/protos/protos.json +++ b/packages/google-cloud-videointelligence/protos/protos.json @@ -3669,6 +3669,10 @@ "syntax": { "type": "string", "id": 12 + }, + "edition": { + "type": "string", + "id": 13 } } }, @@ -4197,6 +4201,13 @@ "default": false } }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, "deprecated": { "type": "bool", "id": 3, @@ -4489,6 +4500,19 @@ "end": { "type": "int32", "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } } } } From a7b4664ab8467441f22def9bd98a999b27bf01c5 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 15:27:05 -0700 Subject: [PATCH 404/418] feat: accept google-gax instance as a parameter (#743) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: better support for fallback mode 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 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 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 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * fix: use _gaxModule when accessing gax for bundling 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 * 🦉 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 Co-authored-by: Owl Bot Co-authored-by: Alexander Fenster --- ...ata.google.cloud.videointelligence.v1.json | 2 +- ...deo_intelligence_service.annotate_video.js | 3 + ...oogle.cloud.videointelligence.v1beta2.json | 2 +- ...deo_intelligence_service.annotate_video.js | 3 + ...gle.cloud.videointelligence.v1p1beta1.json | 2 +- ...deo_intelligence_service.annotate_video.js | 3 + ...gle.cloud.videointelligence.v1p2beta1.json | 2 +- ...deo_intelligence_service.annotate_video.js | 3 + ...gle.cloud.videointelligence.v1p3beta1.json | 4 +- ...igence_service.streaming_annotate_video.js | 3 + ...deo_intelligence_service.annotate_video.js | 3 + .../v1/video_intelligence_service_client.ts | 40 ++- .../video_intelligence_service_client.ts | 40 ++- .../video_intelligence_service_client.ts | 40 ++- .../video_intelligence_service_client.ts | 40 ++- ...aming_video_intelligence_service_client.ts | 37 ++- .../video_intelligence_service_client.ts | 40 ++- ...ng_video_intelligence_service_v1p3beta1.ts | 230 +++++++++------- .../gapic_video_intelligence_service_v1.ts | 221 ++++++++------- ...apic_video_intelligence_service_v1beta2.ts | 251 +++++++++--------- ...ic_video_intelligence_service_v1p1beta1.ts | 251 +++++++++--------- ...ic_video_intelligence_service_v1p2beta1.ts | 251 +++++++++--------- ...ic_video_intelligence_service_v1p3beta1.ts | 251 +++++++++--------- 23 files changed, 912 insertions(+), 810 deletions(-) diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json index 431bda4579c..255e1112d90 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 92, + "end": 95, "type": "FULL" } ], diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js index caac0742668..5200ada4755 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js @@ -23,6 +23,9 @@ function main(features) { // [START videointelligence_v1_generated_VideoIntelligenceService_AnnotateVideo_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-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index 38860f4504d..e0d7951d6ce 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 91, + "end": 94, "type": "FULL" } ], diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js index 6c39d8b5c37..505d4d0ccb9 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js @@ -23,6 +23,9 @@ function main(features) { // [START videointelligence_v1beta2_generated_VideoIntelligenceService_AnnotateVideo_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-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json index 7c6eedbf241..01af454ede5 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 91, + "end": 94, "type": "FULL" } ], diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js index ccf9f33c208..afa38678ddd 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js @@ -23,6 +23,9 @@ function main(features) { // [START videointelligence_v1p1beta1_generated_VideoIntelligenceService_AnnotateVideo_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-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json index 5dbc6e71ce6..d138c675434 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 89, + "end": 92, "type": "FULL" } ], diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js index f4e003e85ed..5f47ef9b8a0 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js @@ -23,6 +23,9 @@ function main(features) { // [START videointelligence_v1p2beta1_generated_VideoIntelligenceService_AnnotateVideo_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-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index 774afbfe955..c368e203296 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 65, + "end": 68, "type": "FULL" } ], @@ -66,7 +66,7 @@ "segments": [ { "start": 25, - "end": 92, + "end": 95, "type": "FULL" } ], diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js index 2236cb17990..e2460b12efc 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js @@ -23,6 +23,9 @@ function main() { // [START videointelligence_v1p3beta1_generated_StreamingVideoIntelligenceService_StreamingAnnotateVideo_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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js index 4f56a02af2f..8323e6c2768 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js @@ -23,6 +23,9 @@ function main(features) { // [START videointelligence_v1p3beta1_generated_VideoIntelligenceService_AnnotateVideo_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-videointelligence/src/v1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts index 392839d0b9c..9f529c1574a 100644 --- a/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1/video_intelligence_service_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 './video_intelligence_service_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -95,8 +94,18 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient({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 VideoIntelligenceServiceClient; @@ -117,8 +126,13 @@ export class VideoIntelligenceServiceClient { 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); @@ -234,7 +248,7 @@ export class VideoIntelligenceServiceClient { 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; } /** @@ -290,7 +304,8 @@ export class VideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -506,14 +521,15 @@ export class VideoIntelligenceServiceClient { protos.google.cloud.videointelligence.v1.AnnotateVideoProgress > > { - 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.annotateVideo, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.videointelligence.v1.AnnotateVideoResponse, diff --git a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts index 5c31f108cc7..33a3dcd8c64 100644 --- a/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1beta2/video_intelligence_service_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 './video_intelligence_service_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -95,8 +94,18 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient({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 VideoIntelligenceServiceClient; @@ -117,8 +126,13 @@ export class VideoIntelligenceServiceClient { 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); @@ -236,7 +250,7 @@ export class VideoIntelligenceServiceClient { 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; } /** @@ -292,7 +306,8 @@ export class VideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -507,14 +522,15 @@ export class VideoIntelligenceServiceClient { protos.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress > > { - 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.annotateVideo, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse, diff --git a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts index c45474438cf..ed8e8a4e65f 100644 --- a/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p1beta1/video_intelligence_service_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 './video_intelligence_service_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -95,8 +94,18 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient({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 VideoIntelligenceServiceClient; @@ -117,8 +126,13 @@ export class VideoIntelligenceServiceClient { 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); @@ -236,7 +250,7 @@ export class VideoIntelligenceServiceClient { 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; } /** @@ -292,7 +306,8 @@ export class VideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -507,14 +522,15 @@ export class VideoIntelligenceServiceClient { protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress > > { - 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.annotateVideo, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse, diff --git a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts index 6a7d37772f6..d14f83c2bc4 100644 --- a/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p2beta1/video_intelligence_service_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 './video_intelligence_service_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -95,8 +94,18 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient({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 VideoIntelligenceServiceClient; @@ -117,8 +126,13 @@ export class VideoIntelligenceServiceClient { 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); @@ -236,7 +250,7 @@ export class VideoIntelligenceServiceClient { 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; } /** @@ -292,7 +306,8 @@ export class VideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -505,14 +520,15 @@ export class VideoIntelligenceServiceClient { protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress > > { - 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.annotateVideo, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse, diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts index 3e21b7fd84c..fa26e48e02a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/streaming_video_intelligence_service_client.ts @@ -17,15 +17,13 @@ // ** 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, ClientOptions, - GoogleError, } from 'google-gax'; - import {PassThrough} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -35,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 './streaming_video_intelligence_service_client_config.json'; - const version = require('../../../package.json').version; /** @@ -94,8 +91,18 @@ export class StreamingVideoIntelligenceServiceClient { * 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 StreamingVideoIntelligenceServiceClient({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 StreamingVideoIntelligenceServiceClient; @@ -116,8 +123,13 @@ export class StreamingVideoIntelligenceServiceClient { 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); @@ -161,7 +173,7 @@ export class StreamingVideoIntelligenceServiceClient { // Provide descriptors for these. this.descriptors.stream = { streamingAnnotateVideo: new this._gaxModule.StreamDescriptor( - gax.StreamType.BIDI_STREAMING, + this._gaxModule.StreamType.BIDI_STREAMING, opts.fallback === 'rest' ), }; @@ -180,7 +192,7 @@ export class StreamingVideoIntelligenceServiceClient { 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; } /** @@ -229,7 +241,9 @@ export class StreamingVideoIntelligenceServiceClient { setImmediate(() => { stream.emit( 'error', - new GoogleError('The client has already been closed.') + new this._gaxModule.GoogleError( + 'The client has already been closed.' + ) ); }); return stream; @@ -248,7 +262,8 @@ export class StreamingVideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts index 61a566e7faa..bf1dbc95c9a 100644 --- a/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_client.ts +++ b/packages/google-cloud-videointelligence/src/v1p3beta1/video_intelligence_service_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 './video_intelligence_service_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -95,8 +94,18 @@ export class VideoIntelligenceServiceClient { * 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 VideoIntelligenceServiceClient({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 VideoIntelligenceServiceClient; @@ -117,8 +126,13 @@ export class VideoIntelligenceServiceClient { 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); @@ -236,7 +250,7 @@ export class VideoIntelligenceServiceClient { 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; } /** @@ -292,7 +306,8 @@ export class VideoIntelligenceServiceClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -508,14 +523,15 @@ export class VideoIntelligenceServiceClient { protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress > > { - 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.annotateVideo, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse, diff --git a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts index b23bc9b0e91..a318a05048c 100644 --- a/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_streaming_video_intelligence_service_v1p3beta1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -51,124 +66,132 @@ function stubBidiStreamingCall( } describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - streamingvideointelligenceserviceModule.v1p3beta1 - .StreamingVideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + streamingvideointelligenceserviceModule.v1p3beta1 + .StreamingVideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } + it('has initialize method and supports deferred initialization', async () => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual( + client.streamingVideoIntelligenceServiceStub, + undefined ); - assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.streamingVideoIntelligenceServiceStub); - }); + await client.initialize(); + assert(client.streamingVideoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - client.initialize(); - assert(client.streamingVideoIntelligenceServiceStub); - client.close().then(() => { - done(); + it('has close method for the initialized client', done => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + assert(client.streamingVideoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } + it('has close method for the non-initialized client', done => { + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual( + client.streamingVideoIntelligenceServiceStub, + undefined ); - assert.strictEqual(client.streamingVideoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + 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 streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( - { - 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 streamingvideointelligenceserviceModule.v1p3beta1.StreamingVideoIntelligenceServiceClient( + { + 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('streamingAnnotateVideo', () => { @@ -184,6 +207,7 @@ describe('v1p3beta1.StreamingVideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest() ); + const expectedResponse = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse() ); diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts index 6064d743634..24ff4ee2cdf 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1.ts @@ -25,6 +25,21 @@ import * as videointelligenceserviceModule 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 @@ -73,111 +88,113 @@ function stubLongRunningCallWithCallback( } describe('v1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1.VideoIntelligenceServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - fallback: true, - }); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + fallback: true, + }); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); }); - client.initialize(); - assert(client.videoIntelligenceServiceStub); - client.close().then(() => { - done(); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); }); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + 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 videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ - 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 videointelligenceserviceModule.v1.VideoIntelligenceServiceClient({ + 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('annotateVideo', () => { @@ -191,7 +208,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -200,11 +216,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo without error using callback', async () => { @@ -217,7 +228,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -247,11 +257,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes annotateVideo with call error', async () => { @@ -264,18 +269,12 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.annotateVideo(request), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo with LRO error', async () => { @@ -288,7 +287,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -297,11 +295,6 @@ describe('v1.VideoIntelligenceServiceClient', () => { ); const [operation] = await client.annotateVideo(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAnnotateVideoProgress without error', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts index baa17d45b35..c01bbfa1f72 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1beta2.ts @@ -25,6 +25,21 @@ import * as videointelligenceserviceModule 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 @@ -73,124 +88,126 @@ function stubLongRunningCallWithCallback( } describe('v1beta2.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - client.initialize(); - assert(client.videoIntelligenceServiceStub); - client.close().then(() => { - done(); + it('has close method for the initialized client', done => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( - { - 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 videointelligenceserviceModule.v1beta2.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { @@ -206,7 +223,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -215,11 +231,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo without error using callback', async () => { @@ -234,7 +245,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -264,11 +274,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes annotateVideo with call error', async () => { @@ -283,18 +288,12 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.annotateVideo(request), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo with LRO error', async () => { @@ -309,7 +308,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -318,11 +316,6 @@ describe('v1beta2.VideoIntelligenceServiceClient', () => { ); const [operation] = await client.annotateVideo(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAnnotateVideoProgress without error', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts index 81159b34f8f..2908e4f5320 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p1beta1.ts @@ -25,6 +25,21 @@ import * as videointelligenceserviceModule 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 @@ -73,124 +88,126 @@ function stubLongRunningCallWithCallback( } describe('v1p1beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - client.initialize(); - assert(client.videoIntelligenceServiceStub); - client.close().then(() => { - done(); + it('has close method for the initialized client', done => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( - { - 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 videointelligenceserviceModule.v1p1beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { @@ -206,7 +223,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -215,11 +231,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo without error using callback', async () => { @@ -234,7 +245,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -264,11 +274,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes annotateVideo with call error', async () => { @@ -283,18 +288,12 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.annotateVideo(request), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo with LRO error', async () => { @@ -309,7 +308,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -318,11 +316,6 @@ describe('v1p1beta1.VideoIntelligenceServiceClient', () => { ); const [operation] = await client.annotateVideo(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAnnotateVideoProgress without error', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts index bb6b63b1b21..451fa85be32 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p2beta1.ts @@ -25,6 +25,21 @@ import * as videointelligenceserviceModule 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 @@ -73,124 +88,126 @@ function stubLongRunningCallWithCallback( } describe('v1p2beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - client.initialize(); - assert(client.videoIntelligenceServiceStub); - client.close().then(() => { - done(); + it('has close method for the initialized client', done => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( - { - 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 videointelligenceserviceModule.v1p2beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { @@ -206,7 +223,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -215,11 +231,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo without error using callback', async () => { @@ -234,7 +245,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -264,11 +274,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes annotateVideo with call error', async () => { @@ -283,18 +288,12 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.annotateVideo(request), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo with LRO error', async () => { @@ -309,7 +308,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -318,11 +316,6 @@ describe('v1p2beta1.VideoIntelligenceServiceClient', () => { ); const [operation] = await client.annotateVideo(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAnnotateVideoProgress without error', async () => { diff --git a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts index 879c799a1aa..f3b369914ad 100644 --- a/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts +++ b/packages/google-cloud-videointelligence/test/gapic_video_intelligence_service_v1p3beta1.ts @@ -25,6 +25,21 @@ import * as videointelligenceserviceModule 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 @@ -73,124 +88,126 @@ function stubLongRunningCallWithCallback( } describe('v1p3beta1.VideoIntelligenceServiceClient', () => { - it('has servicePath', () => { - const servicePath = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .servicePath; - assert(servicePath); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .servicePath; + assert(servicePath); + }); - it('has apiEndpoint', () => { - const apiEndpoint = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .apiEndpoint; - assert(apiEndpoint); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .apiEndpoint; + assert(apiEndpoint); + }); - it('has port', () => { - const port = - videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient - .port; - assert(port); - assert(typeof port === 'number'); - }); + it('has port', () => { + const port = + videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient + .port; + assert(port); + assert(typeof port === 'number'); + }); - it('should create a client with no option', () => { - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); - assert(client); - }); + it('should create a client with no option', () => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient(); + assert(client); + }); - it('should create a client with gRPC fallback', () => { - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - fallback: true, - } - ); - assert(client); - }); + it('should create a client with gRPC fallback', () => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + fallback: true, + } + ); + assert(client); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - await client.initialize(); - assert(client.videoIntelligenceServiceStub); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + await client.initialize(); + assert(client.videoIntelligenceServiceStub); + }); - it('has close method for the initialized client', done => { - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - client.initialize(); - assert(client.videoIntelligenceServiceStub); - client.close().then(() => { - done(); + it('has close method for the initialized client', done => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + client.initialize(); + assert(client.videoIntelligenceServiceStub); + client.close().then(() => { + done(); + }); }); - }); - it('has close method for the non-initialized client', done => { - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - } - ); - assert.strictEqual(client.videoIntelligenceServiceStub, undefined); - client.close().then(() => { - done(); + it('has close method for the non-initialized client', done => { + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + } + ); + assert.strictEqual(client.videoIntelligenceServiceStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = - new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - 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', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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 videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( - { - 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 videointelligenceserviceModule.v1p3beta1.VideoIntelligenceServiceClient( + { + 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('annotateVideo', () => { @@ -206,7 +223,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -215,11 +231,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const [operation] = await client.annotateVideo(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo without error using callback', async () => { @@ -234,7 +245,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -264,11 +274,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes annotateVideo with call error', async () => { @@ -283,18 +288,12 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.annotateVideo(request), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes annotateVideo with LRO error', async () => { @@ -309,7 +308,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.annotateVideo = stubLongRunningCall( undefined, @@ -318,11 +316,6 @@ describe('v1p3beta1.VideoIntelligenceServiceClient', () => { ); const [operation] = await client.annotateVideo(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.annotateVideo as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAnnotateVideoProgress without error', async () => { From 87140bdf6026043496b55fc779174b4aab63f750 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 22 Sep 2022 10:38:03 -0700 Subject: [PATCH 405/418] chore(main): release 4.1.0 (#748) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.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-videointelligence/CHANGELOG.md | 12 ++++++++++++ packages/google-cloud-videointelligence/package.json | 2 +- ...t_metadata.google.cloud.videointelligence.v1.json | 2 +- ...adata.google.cloud.videointelligence.v1beta2.json | 2 +- ...ata.google.cloud.videointelligence.v1p1beta1.json | 2 +- ...ata.google.cloud.videointelligence.v1p2beta1.json | 2 +- ...ata.google.cloud.videointelligence.v1p3beta1.json | 2 +- .../samples/package.json | 2 +- 8 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index a6b30b930db..a616e50be76 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,18 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [4.1.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v4.0.0...v4.1.0) (2022-09-21) + + +### Features + +* Accept google-gax instance as a parameter ([#743](https://github.com/googleapis/nodejs-video-intelligence/issues/743)) ([293e571](https://github.com/googleapis/nodejs-video-intelligence/commit/293e5716344149040135a897dc46ca1b298c01b4)) + + +### Bug Fixes + +* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-video-intelligence/issues/1553)) ([#747](https://github.com/googleapis/nodejs-video-intelligence/issues/747)) ([5fc9e71](https://github.com/googleapis/nodejs-video-intelligence/commit/5fc9e71daaef572b3b077cefd165eac1d2d97841)) + ## [4.0.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v3.4.1...v4.0.0) (2022-06-29) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 61909269102..1cb9a988680 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "4.0.0", + "version": "4.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json index 255e1112d90..6a386a8a22e 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.0.0", + "version": "4.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index e0d7951d6ce..13093314c75 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.0.0", + "version": "4.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json index 01af454ede5..1fadb5d1405 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.0.0", + "version": "4.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json index d138c675434..8071b13dff4 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.0.0", + "version": "4.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index c368e203296..8872e015d33 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.0.0", + "version": "4.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index 0cd0b9d9d5b..a16e0ccc9af 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^4.0.0", + "@google-cloud/video-intelligence": "^4.1.0", "yargs": "^16.0.0" }, "devDependencies": { From 91d9355cdd8cc07ece07816360660d06070a6313 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 3 Nov 2022 23:50:19 -0700 Subject: [PATCH 406/418] fix(deps): use google-gax v3.5.2 (#761) --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 1cb9a988680..b31193bc252 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -44,7 +44,7 @@ "precompile": "gts clean" }, "dependencies": { - "google-gax": "^3.3.0" + "google-gax": "^3.5.2" }, "devDependencies": { "@types/mocha": "^9.0.0", From ea0ee619d241446f9d34426f0c0d8eaf37a2409d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 14:51:25 -0800 Subject: [PATCH 407/418] samples: pull in latest typeless bot, clean up some comments (#765) samples: pull in latest typeless bot, clean up some comments Source-Link: https://github.com/googleapis/synthtool/commit/0a68e568b6911b60bb6fd452eba4848b176031d8 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:5b05f26103855c3a15433141389c478d1d3fe088fb5d4e3217c4793f6b3f245e Co-authored-by: Owl Bot --- .../protos/protos.d.ts | 2 +- .../protos/protos.js | 196 +++++++++++++++--- 2 files changed, 171 insertions(+), 27 deletions(-) diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts index edaecb4fb14..3cf66ff7a8c 100644 --- a/packages/google-cloud-videointelligence/protos/protos.d.ts +++ b/packages/google-cloud-videointelligence/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-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js index 5aac1136d93..ca5a8c5a2bb 100644 --- a/packages/google-cloud-videointelligence/protos/protos.js +++ b/packages/google-cloud-videointelligence/protos/protos.js @@ -418,6 +418,10 @@ for (var i = 0; i < object.features.length; ++i) switch (object.features[i]) { default: + if (typeof object.features[i] === "number") { + message.features[i] = object.features[i]; + break; + } case "FEATURE_UNSPECIFIED": case 0: message.features[i] = 0; @@ -505,7 +509,7 @@ if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.features[j]] : message.features[j]; + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1.Feature[message.features[j]] : message.features[j]; } if (message.videoContext != null && message.hasOwnProperty("videoContext")) object.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.toObject(message.videoContext, options); @@ -1296,6 +1300,12 @@ return object; var message = new $root.google.cloud.videointelligence.v1.LabelDetectionConfig(); switch (object.labelDetectionMode) { + default: + if (typeof object.labelDetectionMode === "number") { + message.labelDetectionMode = object.labelDetectionMode; + break; + } + break; case "LABEL_DETECTION_MODE_UNSPECIFIED": case 0: message.labelDetectionMode = 0; @@ -1345,7 +1355,7 @@ object.videoConfidenceThreshold = 0; } if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) object.stationaryCamera = message.stationaryCamera; if (message.model != null && message.hasOwnProperty("model")) @@ -4239,6 +4249,12 @@ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } switch (object.pornographyLikelihood) { + default: + if (typeof object.pornographyLikelihood === "number") { + message.pornographyLikelihood = object.pornographyLikelihood; + break; + } + break; case "LIKELIHOOD_UNSPECIFIED": case 0: message.pornographyLikelihood = 0; @@ -4287,7 +4303,7 @@ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; @@ -8646,6 +8662,12 @@ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); } switch (object.feature) { + default: + if (typeof object.feature === "number") { + message.feature = object.feature; + break; + } + break; case "FEATURE_UNSPECIFIED": case 0: message.feature = 0; @@ -8725,7 +8747,7 @@ if (message.updateTime != null && message.hasOwnProperty("updateTime")) object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); if (message.feature != null && message.hasOwnProperty("feature")) - object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.feature] : message.feature; + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.feature] === undefined ? message.feature : $root.google.cloud.videointelligence.v1.Feature[message.feature] : message.feature; if (message.segment != null && message.hasOwnProperty("segment")) object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options); return object; @@ -12982,6 +13004,10 @@ for (var i = 0; i < object.features.length; ++i) switch (object.features[i]) { default: + if (typeof object.features[i] === "number") { + message.features[i] = object.features[i]; + break; + } case "FEATURE_UNSPECIFIED": case 0: message.features[i] = 0; @@ -13049,7 +13075,7 @@ if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Feature[message.features[j]] : message.features[j]; + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1beta2.Feature[message.features[j]] : message.features[j]; } if (message.videoContext != null && message.hasOwnProperty("videoContext")) object.videoContext = $root.google.cloud.videointelligence.v1beta2.VideoContext.toObject(message.videoContext, options); @@ -13622,6 +13648,12 @@ return object; var message = new $root.google.cloud.videointelligence.v1beta2.LabelDetectionConfig(); switch (object.labelDetectionMode) { + default: + if (typeof object.labelDetectionMode === "number") { + message.labelDetectionMode = object.labelDetectionMode; + break; + } + break; case "LABEL_DETECTION_MODE_UNSPECIFIED": case 0: message.labelDetectionMode = 0; @@ -13665,7 +13697,7 @@ object.model = ""; } if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1beta2.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) object.stationaryCamera = message.stationaryCamera; if (message.model != null && message.hasOwnProperty("model")) @@ -15812,6 +15844,12 @@ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } switch (object.pornographyLikelihood) { + default: + if (typeof object.pornographyLikelihood === "number") { + message.pornographyLikelihood = object.pornographyLikelihood; + break; + } + break; case "LIKELIHOOD_UNSPECIFIED": case 0: message.pornographyLikelihood = 0; @@ -15860,7 +15898,7 @@ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1beta2.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1beta2.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; @@ -18785,6 +18823,10 @@ for (var i = 0; i < object.features.length; ++i) switch (object.features[i]) { default: + if (typeof object.features[i] === "number") { + message.features[i] = object.features[i]; + break; + } case "FEATURE_UNSPECIFIED": case 0: message.features[i] = 0; @@ -18852,7 +18894,7 @@ if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Feature[message.features[j]] : message.features[j]; + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1p1beta1.Feature[message.features[j]] : message.features[j]; } if (message.videoContext != null && message.hasOwnProperty("videoContext")) object.videoContext = $root.google.cloud.videointelligence.v1p1beta1.VideoContext.toObject(message.videoContext, options); @@ -19425,6 +19467,12 @@ return object; var message = new $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig(); switch (object.labelDetectionMode) { + default: + if (typeof object.labelDetectionMode === "number") { + message.labelDetectionMode = object.labelDetectionMode; + break; + } + break; case "LABEL_DETECTION_MODE_UNSPECIFIED": case 0: message.labelDetectionMode = 0; @@ -19468,7 +19516,7 @@ object.model = ""; } if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1p1beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) object.stationaryCamera = message.stationaryCamera; if (message.model != null && message.hasOwnProperty("model")) @@ -21388,6 +21436,12 @@ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } switch (object.pornographyLikelihood) { + default: + if (typeof object.pornographyLikelihood === "number") { + message.pornographyLikelihood = object.pornographyLikelihood; + break; + } + break; case "LIKELIHOOD_UNSPECIFIED": case 0: message.pornographyLikelihood = 0; @@ -21436,7 +21490,7 @@ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p1beta1.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1p1beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; @@ -24667,6 +24721,10 @@ for (var i = 0; i < object.features.length; ++i) switch (object.features[i]) { default: + if (typeof object.features[i] === "number") { + message.features[i] = object.features[i]; + break; + } case "FEATURE_UNSPECIFIED": case 0: message.features[i] = 0; @@ -24738,7 +24796,7 @@ if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Feature[message.features[j]] : message.features[j]; + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1p2beta1.Feature[message.features[j]] : message.features[j]; } if (message.videoContext != null && message.hasOwnProperty("videoContext")) object.videoContext = $root.google.cloud.videointelligence.v1p2beta1.VideoContext.toObject(message.videoContext, options); @@ -25311,6 +25369,12 @@ return object; var message = new $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig(); switch (object.labelDetectionMode) { + default: + if (typeof object.labelDetectionMode === "number") { + message.labelDetectionMode = object.labelDetectionMode; + break; + } + break; case "LABEL_DETECTION_MODE_UNSPECIFIED": case 0: message.labelDetectionMode = 0; @@ -25354,7 +25418,7 @@ object.model = ""; } if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1p2beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) object.stationaryCamera = message.stationaryCamera; if (message.model != null && message.hasOwnProperty("model")) @@ -27493,6 +27557,12 @@ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } switch (object.pornographyLikelihood) { + default: + if (typeof object.pornographyLikelihood === "number") { + message.pornographyLikelihood = object.pornographyLikelihood; + break; + } + break; case "LIKELIHOOD_UNSPECIFIED": case 0: message.pornographyLikelihood = 0; @@ -27541,7 +27611,7 @@ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p2beta1.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1p2beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; @@ -31637,6 +31707,10 @@ for (var i = 0; i < object.features.length; ++i) switch (object.features[i]) { default: + if (typeof object.features[i] === "number") { + message.features[i] = object.features[i]; + break; + } case "FEATURE_UNSPECIFIED": case 0: message.features[i] = 0; @@ -31728,7 +31802,7 @@ if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) - object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.features[j]] : message.features[j]; + object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1p3beta1.Feature[message.features[j]] : message.features[j]; } if (message.videoContext != null && message.hasOwnProperty("videoContext")) object.videoContext = $root.google.cloud.videointelligence.v1p3beta1.VideoContext.toObject(message.videoContext, options); @@ -32489,6 +32563,12 @@ return object; var message = new $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig(); switch (object.labelDetectionMode) { + default: + if (typeof object.labelDetectionMode === "number") { + message.labelDetectionMode = object.labelDetectionMode; + break; + } + break; case "LABEL_DETECTION_MODE_UNSPECIFIED": case 0: message.labelDetectionMode = 0; @@ -32538,7 +32618,7 @@ object.videoConfidenceThreshold = 0; } if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode")) - object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; + object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1p3beta1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode; if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera")) object.stationaryCamera = message.stationaryCamera; if (message.model != null && message.hasOwnProperty("model")) @@ -35466,6 +35546,12 @@ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset); } switch (object.pornographyLikelihood) { + default: + if (typeof object.pornographyLikelihood === "number") { + message.pornographyLikelihood = object.pornographyLikelihood; + break; + } + break; case "LIKELIHOOD_UNSPECIFIED": case 0: message.pornographyLikelihood = 0; @@ -35514,7 +35600,7 @@ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options); if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood")) - object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; + object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1p3beta1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood; return object; }; @@ -39982,6 +40068,12 @@ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); } switch (object.feature) { + default: + if (typeof object.feature === "number") { + message.feature = object.feature; + break; + } + break; case "FEATURE_UNSPECIFIED": case 0: message.feature = 0; @@ -40065,7 +40157,7 @@ if (message.updateTime != null && message.hasOwnProperty("updateTime")) object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); if (message.feature != null && message.hasOwnProperty("feature")) - object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.feature] : message.feature; + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.Feature[message.feature] === undefined ? message.feature : $root.google.cloud.videointelligence.v1p3beta1.Feature[message.feature] : message.feature; if (message.segment != null && message.hasOwnProperty("segment")) object.segment = $root.google.cloud.videointelligence.v1p3beta1.VideoSegment.toObject(message.segment, options); return object; @@ -44579,6 +44671,12 @@ message.automlObjectTrackingConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.fromObject(object.automlObjectTrackingConfig); } switch (object.feature) { + default: + if (typeof object.feature === "number") { + message.feature = object.feature; + break; + } + break; case "STREAMING_FEATURE_UNSPECIFIED": case 0: message.feature = 0; @@ -44638,7 +44736,7 @@ object.storageConfig = null; } if (message.feature != null && message.hasOwnProperty("feature")) - object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] : message.feature; + object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] === undefined ? message.feature : $root.google.cloud.videointelligence.v1p3beta1.StreamingFeature[message.feature] : message.feature; if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) { object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options); if (options.oneofs) @@ -50401,6 +50499,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; @@ -50415,6 +50519,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; @@ -50541,9 +50651,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")) @@ -52862,6 +52972,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; @@ -52958,7 +53074,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")) @@ -53707,6 +53823,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; @@ -53723,6 +53845,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; @@ -53761,6 +53889,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; @@ -53825,7 +53957,7 @@ object.unverifiedLazy = false; } 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")) @@ -53833,7 +53965,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")) @@ -53846,7 +53978,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]; } return object; }; @@ -55221,6 +55353,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; @@ -55290,7 +55428,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) @@ -57045,6 +57183,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; @@ -57094,7 +57238,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 e3b3f6213f2b53aac2390a617d380f922019ab83 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 9 Nov 2022 00:16:07 +0100 Subject: [PATCH 408/418] chore(deps): update dependency @types/node to v18 (#759) Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index b31193bc252..e8092ed3c45 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@types/mocha": "^9.0.0", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/sinon": "^10.0.0", "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", From 6d93cf6d1f0baf2c70fcac5c70178c3a98e09d43 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 9 Nov 2022 00:25:51 +0100 Subject: [PATCH 409/418] chore(deps): update dependency jsdoc to v4 (#764) Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> --- packages/google-cloud-videointelligence/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index e8092ed3c45..02d371a8734 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -53,7 +53,7 @@ "c8": "^7.0.0", "eslint-plugin-node": "^11.1.0", "gts": "^3.1.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 c936d5f81623c71ff78c79598bbeeef9e4e69be4 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 15:31:57 -0800 Subject: [PATCH 410/418] chore(main): release 4.1.1 (#763) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.1 * 🦉 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 Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> --- packages/google-cloud-videointelligence/CHANGELOG.md | 7 +++++++ packages/google-cloud-videointelligence/package.json | 2 +- ...snippet_metadata.google.cloud.videointelligence.v1.json | 2 +- ...et_metadata.google.cloud.videointelligence.v1beta2.json | 2 +- ..._metadata.google.cloud.videointelligence.v1p1beta1.json | 2 +- ..._metadata.google.cloud.videointelligence.v1p2beta1.json | 2 +- ..._metadata.google.cloud.videointelligence.v1p3beta1.json | 2 +- .../google-cloud-videointelligence/samples/package.json | 2 +- 8 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md index a616e50be76..0792cb3cab8 100644 --- a/packages/google-cloud-videointelligence/CHANGELOG.md +++ b/packages/google-cloud-videointelligence/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions +## [4.1.1](https://github.com/googleapis/nodejs-video-intelligence/compare/v4.1.0...v4.1.1) (2022-11-08) + + +### Bug Fixes + +* **deps:** Use google-gax v3.5.2 ([#761](https://github.com/googleapis/nodejs-video-intelligence/issues/761)) ([e068bd3](https://github.com/googleapis/nodejs-video-intelligence/commit/e068bd338e9750e39f029faaf4ff52a5d5ad7d32)) + ## [4.1.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v4.0.0...v4.1.0) (2022-09-21) diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 02d371a8734..439c8b71808 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/video-intelligence", "description": "Google Cloud Video Intelligence API client for Node.js", - "version": "4.1.0", + "version": "4.1.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json index 6a386a8a22e..2f11da8f205 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1/snippet_metadata.google.cloud.videointelligence.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.1.0", + "version": "4.1.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json index 13093314c75..7960b4e4882 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1beta2/snippet_metadata.google.cloud.videointelligence.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.1.0", + "version": "4.1.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json index 1fadb5d1405..7c582e7259a 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/snippet_metadata.google.cloud.videointelligence.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.1.0", + "version": "4.1.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json index 8071b13dff4..560382e2f13 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/snippet_metadata.google.cloud.videointelligence.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.1.0", + "version": "4.1.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json index 8872e015d33..ecf50893123 100644 --- a/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json +++ b/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/snippet_metadata.google.cloud.videointelligence.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-videointelligence", - "version": "4.1.0", + "version": "4.1.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index a16e0ccc9af..ffd39d798fb 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -15,7 +15,7 @@ "test": "mocha system-test --timeout=800000" }, "dependencies": { - "@google-cloud/video-intelligence": "^4.1.0", + "@google-cloud/video-intelligence": "^4.1.1", "yargs": "^16.0.0" }, "devDependencies": { From 4ceedd8992880c617efc76a94e2fc4659cf549cb Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Thu, 10 Nov 2022 11:13:52 -0800 Subject: [PATCH 411/418] build: add release-please config, fix owlbot-config --- .release-please-manifest.json | 15 +- .../{.github => }/.OwlBot.yaml | 6 +- .../.mocharc.js | 2 +- .../.prettierrc.js | 2 +- .../.repo-metadata.json | 2 +- .../google-cloud-videointelligence/README.md | 35 +-- .../package.json | 13 +- .../samples/README.md | 234 +++--------------- .../src/index.ts | 2 +- release-please-config.json | 21 +- 10 files changed, 83 insertions(+), 249 deletions(-) rename packages/google-cloud-videointelligence/{.github => }/.OwlBot.yaml (80%) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f89a1514960..b35093bdd48 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -12,10 +12,12 @@ "packages/google-cloud-bigquery-datapolicies": "0.1.2", "packages/google-cloud-bigquery-datatransfer": "3.1.5", "packages/google-cloud-bigquery-reservation": "2.0.4", - "packages/google-cloud-gkeconnect-gateway": "2.0.5", - "packages/google-cloud-deploy": "2.2.2", - "packages/google-cloud-dataplex": "2.2.2", "packages/google-cloud-certificatemanager": "0.6.2", + "packages/google-cloud-contentwarehouse": "0.1.2", + "packages/google-cloud-dataplex": "2.2.2", + "packages/google-cloud-deploy": "2.2.2", + "packages/google-cloud-discoveryengine": "0.2.0", + "packages/google-cloud-gkeconnect-gateway": "2.0.5", "packages/google-cloud-gkemulticloud": "0.1.4", "packages/google-cloud-language": "5.1.2", "packages/google-cloud-memcache": "2.1.4", @@ -27,12 +29,11 @@ "packages/google-cloud-resourcemanager": "4.1.3", "packages/google-cloud-security-publicca": "0.1.3", "packages/google-cloud-shell": "2.0.4", + "packages/google-cloud-videointelligence": "4.1.1", "packages/google-devtools-artifactregistry": "2.0.2", "packages/google-iam": "0.2.2", + "packages/google-maps-addressvalidation": "0.1.0", "packages/google-maps-routing": "0.2.1", "packages/google-monitoring-dashboard": "2.8.0", - "packages/typeless-sample-bot": "1.1.0", - "packages/google-cloud-discoveryengine": "0.2.0", - "packages/google-cloud-contentwarehouse": "0.1.2", - "packages/google-maps-addressvalidation": "0.1.0" + "packages/typeless-sample-bot": "1.1.0" } diff --git a/packages/google-cloud-videointelligence/.github/.OwlBot.yaml b/packages/google-cloud-videointelligence/.OwlBot.yaml similarity index 80% rename from packages/google-cloud-videointelligence/.github/.OwlBot.yaml rename to packages/google-cloud-videointelligence/.OwlBot.yaml index df437980d14..25c12805ff7 100644 --- a/packages/google-cloud-videointelligence/.github/.OwlBot.yaml +++ b/packages/google-cloud-videointelligence/.OwlBot.yaml @@ -11,15 +11,13 @@ # WITHOUT 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/videointelligence/(.*)/.*-nodejs/(.*) - dest: /owl-bot-staging/$1/$2 + - source: /google/cloud/videointelligence/(.*)/.*-nodejs + dest: /owl-bot-staging/google-cloud-videointelligence/$1 begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b diff --git a/packages/google-cloud-videointelligence/.mocharc.js b/packages/google-cloud-videointelligence/.mocharc.js index 0b600509bed..cdb7b752160 100644 --- a/packages/google-cloud-videointelligence/.mocharc.js +++ b/packages/google-cloud-videointelligence/.mocharc.js @@ -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-videointelligence/.prettierrc.js b/packages/google-cloud-videointelligence/.prettierrc.js index d1b95106f4c..d546a4ad546 100644 --- a/packages/google-cloud-videointelligence/.prettierrc.js +++ b/packages/google-cloud-videointelligence/.prettierrc.js @@ -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-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json index b11be042b7b..67475fd6fc5 100644 --- a/packages/google-cloud-videointelligence/.repo-metadata.json +++ b/packages/google-cloud-videointelligence/.repo-metadata.json @@ -1,6 +1,6 @@ { "language": "nodejs", - "repo": "googleapis/nodejs-video-intelligence", + "repo": "googleapis/google-cloud-node", "name": "video", "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810", "default_version": "v1", diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 4ec4921717b..0408faf5a49 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Video Intelligence: Node.js Client](https://github.com/googleapis/nodejs-video-intelligence) +# [Google Cloud Video Intelligence: 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/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence) @@ -14,11 +14,11 @@ Google Cloud Video Intelligence API client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-video-intelligence/blob/main/CHANGELOG.md). +[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-videointelligence/CHANGELOG.md). * [Google Cloud Video Intelligence Node.js Client API Reference][client-docs] * [Google Cloud Video Intelligence Documentation][product-docs] -* [github.com/googleapis/nodejs-video-intelligence](https://github.com/googleapis/nodejs-video-intelligence) +* [github.com/googleapis/google-cloud-node/packages/google-cloud-videointelligence](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-videointelligence) Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in [Client Libraries Explained][explained]. @@ -107,26 +107,17 @@ labels.forEach(label => { ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-video-intelligence/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. +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 | | --------------------------- | --------------------------------- | ------ | -| Analyze-face-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) | -| Analyze-face-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) | -| Analyze-person-detection-gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) | -| Analyze-person-detection | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) | -| Analyze-streaming-annotation-to-storage | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-annotation-to-storage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) | -| Analyze-streaming-automl-classification | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-classification.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) | -| Analyze-streaming-automl-object-tracking | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-object-tracking.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) | -| Analyze-streaming-labels | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) | -| Analyze-streaming-object | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-object.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) | -| Analyze-streaming-safe-search | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-safe-search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) | -| Analyze-streaming-shot-change | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-shot-change.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) | -| Analyze | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) | -| Analyze.v1p2beta1 | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.v1p2beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) | -| Detect_logo | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) | -| Detect_logo_gcs | [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo_gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/nodejs-video-intelligence/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-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) | @@ -176,7 +167,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-video-intelligence/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`) @@ -188,7 +179,7 @@ to its templates in Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-video-intelligence/blob/main/LICENSE) +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest [product-docs]: https://cloud.google.com/video-intelligence diff --git a/packages/google-cloud-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json index 439c8b71808..df4b5cee22c 100644 --- a/packages/google-cloud-videointelligence/package.json +++ b/packages/google-cloud-videointelligence/package.json @@ -7,7 +7,11 @@ "engines": { "node": ">=12.0.0" }, - "repository": "googleapis/nodejs-video-intelligence", + "repository": { + "type": "git", + "directory": "packages/google-cloud-videointelligence", + "url": "https://github.com/googleapis/google-cloud-node.git" + }, "main": "build/src/index.js", "files": [ "build/protos", @@ -30,8 +34,8 @@ "scripts": { "docs": "jsdoc -c .jsdoc.js", "lint": "gts check", - "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", - "system-test": "c8 mocha build/system-test --timeout 600000", + "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test", + "system-test": "npm run compile && c8 mocha build/system-test", "test": "c8 mocha build/test", "fix": "gts fix", "docs-test": "linkinator docs", @@ -64,5 +68,6 @@ "sinon": "^14.0.0", "ts-loader": "^9.0.0", "typescript": "^4.6.4" - } + }, + "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-videointelligence" } diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index dea98de5f91..d0812792172 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Video Intelligence: Node.js Samples](https://github.com/googleapis/nodejs-video-intelligence) +# [Google Cloud Video Intelligence: Node.js Samples](https://github.com/googleapis/google-cloud-node) [![Open in Cloud Shell][shell_img]][shell_link] @@ -12,27 +12,18 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) - * [Analyze-face-detection-gcs](#analyze-face-detection-gcs) - * [Analyze-face-detection](#analyze-face-detection) - * [Analyze-person-detection-gcs](#analyze-person-detection-gcs) - * [Analyze-person-detection](#analyze-person-detection) - * [Analyze-streaming-annotation-to-storage](#analyze-streaming-annotation-to-storage) - * [Analyze-streaming-automl-classification](#analyze-streaming-automl-classification) - * [Analyze-streaming-automl-object-tracking](#analyze-streaming-automl-object-tracking) - * [Analyze-streaming-labels](#analyze-streaming-labels) - * [Analyze-streaming-object](#analyze-streaming-object) - * [Analyze-streaming-safe-search](#analyze-streaming-safe-search) - * [Analyze-streaming-shot-change](#analyze-streaming-shot-change) - * [Analyze](#analyze) - * [Analyze.v1p2beta1](#analyze.v1p2beta1) - * [Detect_logo](#detect_logo) - * [Detect_logo_gcs](#detect_logo_gcs) + * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) + * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) + * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) + * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) + * [Streaming_video_intelligence_service.streaming_annotate_video](#streaming_video_intelligence_service.streaming_annotate_video) + * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) * [Quickstart](#quickstart) ## 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-video-intelligence#using-the-client-library). +[Using the client library](https://github.com/googleapis/google-cloud-node#using-the-client-library). `cd samples` @@ -44,16 +35,16 @@ Before running the samples, make sure you've followed the steps outlined in -### Analyze-face-detection-gcs +### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection-gcs.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection-gcs.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-face-detection-gcs.js` +`node /workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js` ----- @@ -61,16 +52,16 @@ __Usage:__ -### Analyze-face-detection +### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-face-detection.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-face-detection.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-face-detection.js` +`node /workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js` ----- @@ -78,16 +69,16 @@ __Usage:__ -### Analyze-person-detection-gcs +### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection-gcs.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection-gcs.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-person-detection-gcs.js` +`node /workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js` ----- @@ -95,16 +86,16 @@ __Usage:__ -### Analyze-person-detection +### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-person-detection.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-person-detection.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-person-detection.js` +`node /workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js` ----- @@ -112,16 +103,16 @@ __Usage:__ -### Analyze-streaming-annotation-to-storage +### Streaming_video_intelligence_service.streaming_annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-annotation-to-storage.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-annotation-to-storage.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-streaming-annotation-to-storage.js` +`node /workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js` ----- @@ -129,169 +120,16 @@ __Usage:__ -### Analyze-streaming-automl-classification +### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-classification.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-classification.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node samples/analyze-streaming-automl-classification.js` - - ------ - - - - -### Analyze-streaming-automl-object-tracking - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-automl-object-tracking.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-automl-object-tracking.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze-streaming-automl-object-tracking.js` - - ------ - - - - -### Analyze-streaming-labels - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-labels.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-labels.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze-streaming-labels.js` - - ------ - - - - -### Analyze-streaming-object - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-object.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-object.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze-streaming-object.js` - - ------ - - - - -### Analyze-streaming-safe-search - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-safe-search.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-safe-search.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze-streaming-safe-search.js` - - ------ - - - - -### Analyze-streaming-shot-change - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze-streaming-shot-change.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze-streaming-shot-change.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze-streaming-shot-change.js` - - ------ - - - - -### Analyze - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze.js` - - ------ - - - - -### Analyze.v1p2beta1 - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/analyze.v1p2beta1.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/analyze.v1p2beta1.js,samples/README.md) - -__Usage:__ - - -`node samples/analyze.v1p2beta1.js` - - ------ - - - - -### Detect_logo - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo.js,samples/README.md) - -__Usage:__ - - -`node samples/detect_logo.js` - - ------ - - - - -### Detect_logo_gcs - -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/detect_logo_gcs.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/detect_logo_gcs.js,samples/README.md) - -__Usage:__ - - -`node samples/detect_logo_gcs.js` +`node /workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js` ----- @@ -301,14 +139,14 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/nodejs-video-intelligence/blob/main/samples/quickstart.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-video-intelligence&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) +[![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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) __Usage:__ -`node samples/quickstart.js` +`node /workspace/google-cloud-node/samples/quickstart.js` @@ -316,5 +154,5 @@ __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-video-intelligence&page=editor&open_in_editor=samples/README.md +[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/video-intelligence diff --git a/packages/google-cloud-videointelligence/src/index.ts b/packages/google-cloud-videointelligence/src/index.ts index b8426bb62e6..4010eccd976 100644 --- a/packages/google-cloud-videointelligence/src/index.ts +++ b/packages/google-cloud-videointelligence/src/index.ts @@ -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/release-please-config.json b/release-please-config.json index 7a0625b3ae6..a52232d20e5 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,4 +1,5 @@ { + "initial-version": "0.1.0", "packages": { "packages/google-api-apikeys": {}, "packages/google-cloud-batch": {}, @@ -12,10 +13,12 @@ "packages/google-cloud-bigquery-datapolicies": {}, "packages/google-cloud-bigquery-datatransfer": {}, "packages/google-cloud-bigquery-reservation": {}, - "packages/google-cloud-gkeconnect-gateway": {}, - "packages/google-cloud-deploy": {}, - "packages/google-cloud-dataplex": {}, "packages/google-cloud-certificatemanager": {}, + "packages/google-cloud-contentwarehouse": {}, + "packages/google-cloud-dataplex": {}, + "packages/google-cloud-deploy": {}, + "packages/google-cloud-discoveryengine": {}, + "packages/google-cloud-gkeconnect-gateway": {}, "packages/google-cloud-gkemulticloud": {}, "packages/google-cloud-language": {}, "packages/google-cloud-memcache": {}, @@ -27,20 +30,18 @@ "packages/google-cloud-resourcemanager": {}, "packages/google-cloud-security-publicca": {}, "packages/google-cloud-shell": {}, + "packages/google-cloud-videointelligence": {}, "packages/google-devtools-artifactregistry": {}, "packages/google-iam": {}, + "packages/google-maps-addressvalidation": {}, "packages/google-maps-routing": {}, "packages/google-monitoring-dashboard": {}, - "packages/typeless-sample-bot": {}, - "packages/google-cloud-discoveryengine": {}, - "packages/google-cloud-contentwarehouse": {}, - "packages/google-maps-addressvalidation": {} + "packages/typeless-sample-bot": {} }, "plugins": [ { "type": "sentence-case" } ], - "release-type": "node", - "initial-version": "0.1.0" -} \ No newline at end of file + "release-type": "node" +} From e460606de78a8f1b6de86488b4a31bc1187739a9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 10 Nov 2022 19:34:03 +0000 Subject: [PATCH 412/418] =?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 --- .../google-cloud-videointelligence/README.md | 14 +++---- .../samples/README.md | 42 +++++++++---------- release-please-config.json | 2 +- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 0408faf5a49..a0d335dac9e 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -111,13 +111,13 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index d0812792172..b2f5455eee3 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -37,14 +37,14 @@ Before running the samples, make sure you've followed the steps outlined in ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js` ----- @@ -54,14 +54,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js` ----- @@ -71,14 +71,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js` ----- @@ -88,14 +88,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js` ----- @@ -105,14 +105,14 @@ __Usage:__ ### Streaming_video_intelligence_service.streaming_annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js` ----- @@ -122,14 +122,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js` ----- @@ -139,14 +139,14 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) +[![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-videointelligence/samples/quickstart.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/quickstart.js` +`node packages/google-cloud-videointelligence/samples/quickstart.js` diff --git a/release-please-config.json b/release-please-config.json index a52232d20e5..6d97ebbeb08 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -44,4 +44,4 @@ } ], "release-type": "node" -} +} \ No newline at end of file From 896daeb0c225abdb6ee58955b4e211b63743c5e7 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 10 Nov 2022 19:50:21 +0000 Subject: [PATCH 413/418] =?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 --- .../google-cloud-videointelligence/README.md | 14 +++---- .../samples/README.md | 42 +++++++++---------- release-please-config.json | 2 +- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index 0408faf5a49..a0d335dac9e 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -111,13 +111,13 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | -| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | +| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index d0812792172..b2f5455eee3 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -37,14 +37,14 @@ Before running the samples, make sure you've followed the steps outlined in ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js` ----- @@ -54,14 +54,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1beta2/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js` ----- @@ -71,14 +71,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js` ----- @@ -88,14 +88,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js` ----- @@ -105,14 +105,14 @@ __Usage:__ ### Streaming_video_intelligence_service.streaming_annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js` ----- @@ -122,14 +122,14 @@ __Usage:__ ### Video_intelligence_service.annotate_video -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=/workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) +[![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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js` +`node packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js` ----- @@ -139,14 +139,14 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) +[![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-videointelligence/samples/quickstart.js,samples/README.md) __Usage:__ -`node /workspace/google-cloud-node/samples/quickstart.js` +`node packages/google-cloud-videointelligence/samples/quickstart.js` diff --git a/release-please-config.json b/release-please-config.json index a52232d20e5..6d97ebbeb08 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -44,4 +44,4 @@ } ], "release-type": "node" -} +} \ No newline at end of file From d1aa44cc9a34b7aaa2ea941c0d35391a7926472d Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Thu, 10 Nov 2022 13:10:15 -0800 Subject: [PATCH 414/418] Create quickstart.test.js --- .../samples/test/quickstart.test.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/google-cloud-videointelligence/samples/test/quickstart.test.js diff --git a/packages/google-cloud-videointelligence/samples/test/quickstart.test.js b/packages/google-cloud-videointelligence/samples/test/quickstart.test.js new file mode 100644 index 00000000000..f61913cd49d --- /dev/null +++ b/packages/google-cloud-videointelligence/samples/test/quickstart.test.js @@ -0,0 +1,32 @@ +// 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 path = require('path'); +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const cp = require('child_process'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const cmd = 'node quickstart.js'; +const cwd = path.join(__dirname, '..'); + +describe('quickstart samples', () => { + it('should analyze a hardcoded video', async () => { + const stdout = execSync(cmd, {cwd}); + assert.match(stdout, /medium sized cats/); + }); +}); From acfa592051f8af558cbde4025e7263878259b645 Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Thu, 10 Nov 2022 13:10:37 -0800 Subject: [PATCH 415/418] Update package.json --- packages/google-cloud-videointelligence/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-videointelligence/samples/package.json b/packages/google-cloud-videointelligence/samples/package.json index ffd39d798fb..14ccba167bb 100644 --- a/packages/google-cloud-videointelligence/samples/package.json +++ b/packages/google-cloud-videointelligence/samples/package.json @@ -12,7 +12,7 @@ "node": ">=12.0.0" }, "scripts": { - "test": "mocha system-test --timeout=800000" + "test": "mocha test --timeout=800000" }, "dependencies": { "@google-cloud/video-intelligence": "^4.1.1", From d9eaa34c4c95f299d30b19c84a374e38f87323fa Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 10 Nov 2022 21:28:13 +0000 Subject: [PATCH 416/418] =?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 --- .../google-cloud-videointelligence/README.md | 1 + .../samples/README.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index a0d335dac9e..c6c99f78390 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -118,6 +118,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | | Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/quickstart.js,samples/README.md) | +| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/test/quickstart.test.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index b2f5455eee3..c4a5f850027 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -19,6 +19,7 @@ * [Streaming_video_intelligence_service.streaming_annotate_video](#streaming_video_intelligence_service.streaming_annotate_video) * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) * [Quickstart](#quickstart) + * [Quickstart.test](#quickstart.test) ## Before you begin @@ -149,6 +150,23 @@ __Usage:__ `node packages/google-cloud-videointelligence/samples/quickstart.js` +----- + + + + +### Quickstart.test + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/test/quickstart.test.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-videointelligence/samples/test/quickstart.test.js` + + From 8f6c7b4b875ee01d9550f7109f4cb3dbbe26e656 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Thu, 10 Nov 2022 21:29:21 +0000 Subject: [PATCH 417/418] =?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 --- .../google-cloud-videointelligence/README.md | 1 + .../samples/README.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/packages/google-cloud-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md index a0d335dac9e..c6c99f78390 100644 --- a/packages/google-cloud-videointelligence/README.md +++ b/packages/google-cloud-videointelligence/README.md @@ -118,6 +118,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) | | Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/quickstart.js,samples/README.md) | +| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/test/quickstart.test.js,samples/README.md) | diff --git a/packages/google-cloud-videointelligence/samples/README.md b/packages/google-cloud-videointelligence/samples/README.md index b2f5455eee3..c4a5f850027 100644 --- a/packages/google-cloud-videointelligence/samples/README.md +++ b/packages/google-cloud-videointelligence/samples/README.md @@ -19,6 +19,7 @@ * [Streaming_video_intelligence_service.streaming_annotate_video](#streaming_video_intelligence_service.streaming_annotate_video) * [Video_intelligence_service.annotate_video](#video_intelligence_service.annotate_video) * [Quickstart](#quickstart) + * [Quickstart.test](#quickstart.test) ## Before you begin @@ -149,6 +150,23 @@ __Usage:__ `node packages/google-cloud-videointelligence/samples/quickstart.js` +----- + + + + +### Quickstart.test + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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-videointelligence/samples/test/quickstart.test.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-videointelligence/samples/test/quickstart.test.js` + + From 6c68bd882d38675b3c7d5eba196be92413fef78a Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Thu, 10 Nov 2022 13:48:10 -0800 Subject: [PATCH 418/418] Delete video_intelligence_service_smoke_test.ts --- .../video_intelligence_service_smoke_test.ts | 105 ------------------ 1 file changed, 105 deletions(-) delete mode 100644 packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts diff --git a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts b/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts deleted file mode 100644 index b10b910c40e..00000000000 --- a/packages/google-cloud-videointelligence/system-test/video_intelligence_service_smoke_test.ts +++ /dev/null @@ -1,105 +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 -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT 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 {describe, it} from 'mocha'; -import {Operation} from 'google-gax'; -// eslint-disable-next-line @typescript-eslint/no-var-requires -const videoIntelligence = require('../src'); - -describe('VideoIntelligenceServiceSmokeTest', () => { - it('successfully makes a call to the service', done => { - const client = - new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ - // optional auth parameters. - }); - - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri, - features, - }; - - // Handle the operation using the promise pattern. - client - .annotateVideo(request) - .then((responses: Operation[]) => { - const operation = responses[0]; - const initialApiResponse = responses[1]; - console.log(operation); - console.log(initialApiResponse); - - // Operation#promise starts polling for the completion of the LRO. - return operation.promise(); - }) - .then((responses: Operation[]) => { - // 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]; - - console.log(result); - console.log(metadata); - console.log(finalApiResponse); - }) - .then(done) - .catch(done); - }); - - it('successfully makes a call to the service', done => { - const client = - new videoIntelligence.v1p1beta1.VideoIntelligenceServiceClient({ - // optional auth parameters. - }); - - const inputUri = 'gs://cloud-samples-data/video/cat.mp4'; - const featuresElement = 'LABEL_DETECTION'; - const features = [featuresElement]; - const request = { - inputUri, - features, - }; - - // Handle the operation using the event emitter pattern. - client - .annotateVideo(request) - .then((responses: Operation[]) => { - const operation = responses[0]; - - // Adding a listener for the "complete" event starts polling for the - // completion of the operation. - operation.on('complete', (result: string) => { - console.log(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: string) => { - console.log(metadata); - }); - - // Adding a listener for the "error" event handles any errors found during polling. - operation.on('error', () => { - // throw(err); - }); - }) - .then(done) - .catch(done); - }); -});